Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    cambiare script da onchange ad onsubmit

    ho questo codice per controllare la validità di una mail:
    codice:
    <script> 
    function emailvalidation(entered, alertbox)
    {
    
    with (entered)
    {
    apos=value.indexOf("@"); 
    dotpos=value.lastIndexOf(".");
    lastpos=value.length-1;
    if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
    {if (alertbox) {alert(alertbox);} return false;}
    else {return true;}
    }
    } 
    
    </script>
    se lo richiamo con 1 onChange tipo:
    codice:
    <input type=text name=requiredmail onChange=\"emailvalidation(this,'Indirizzo E-mail non Corretto!');\">
    funziona, solo che dopo avermi avvertito che l'indirizzo è errato, posso continuare tranquillamnete a fare il submit del form....mentre dovrei impedire che ciò accadesse.

    ho provato ad inserirlo nel form così:
    codice:
    <form method...bla bla bla onSubmit=\"emailvalidation(this,'Indirizzo E-mail non Corretto!');\">
    ma mi viene ignorato

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367

    Re: cambiare script da onchange ad onsubmit

    codice:
    <form method...bla bla bla onSubmit=\"return emailvalidation(this,'Indirizzo E-mail non Corretto!');\">

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    spiacente ma non funziona nessun errore ....mi fa fare lo stesso il submit

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    scusa non avevo visto il this
    il this prima si riferiva all'input, se adesso lo metti nel form devi usare this.NomeCampo
    codice:
    onSubmit=\"return emailvalidation(this.requiredmail,'Indirizzo E-mail non Corretto!');\"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    purtroppo numma da fare!

    grazie ancora

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    a me funziona
    codice:
    <html>
    <head>
    <script>
    function emailvalidation(entered, alertbox){
      with (entered){
        apos=value.indexOf("@"); 
        dotpos=value.lastIndexOf(".");
        lastpos=value.length-1;
        if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2){
          if (alertbox) {
            alert(alertbox);
          } 
          return false;
        }
        else {return true;}
      }
    } 
    </script>
    </head>
    <body>
    <form onSubmit="return emailvalidation(this.requiredmail,'Indirizzo E-mail non Corretto!');">
    <input type=text name=requiredmail onChange="emailvalidation(this,'Indirizzo E-mail non Corretto!');">
    <input type="submit">
    </form>
    </body>
    </html>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    hai ragione di per sè funziona solo che io al form devo aggiungere un'altro controllo quindi ho la necessità di scrivere così:
    codice:
    <Form method.......onSubmit=\"return checkrequired(this)\" AND onSubmit=\" return emailvalidation(this.requiredmail,'Indirizzo E-mail non Corretto!');\">";
    solo che così facendo mi fa solo il primo controllo e non quello x la mail

    come posso fargli fare tutt'e due i controlli?


    grazie ancora!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    up pls

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    sarebbe meglio fare un'unica funzione di controllo.
    Credo tu possa fare anche così
    codice:
    onSubmit="return (checkrequired(this) && emailvalidation(this.requiredmail,'Indirizzo E-mail non Corretto!'))"

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    grazie mille funziona una meraviglia


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.