Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JS] correzione script per la validazione di un form

    ho utilizzato il codice descritto in questo articolo per il controllo dei campi di un form ma ho una difficoltà a personalizzarlo!
    il mio codice è il seguente:

    codice:
    <script type="text/javascript" language="javascript">
     <!--
      function Modulo() {
         // Variabili associate ai campi del modulo
         var Nome = document.Messaggi.Nome.value;
         var Email = document.Messaggi.Email.value;
         var Messaggio = document.Messaggi.Messaggio.value;
         // Espressione regolare dell'email
         var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
            //Effettua il controllo sul campo "Nome e Cognome"
            if ((Nome == "") || (Nome == "undefined")) {
               alert("Il campo Nome è obbligatorio.");
               document.Messaggi.Nome.focus();
               return false;
            }
            //Effettua il controllo sul campo "Email"
            else if (!email_reg_exp.test(Email) || (Email == "") || (Email == "undefined")) {
               alert("Inserire un indirizzo Email corretto.");
               document.Messaggi.Email.select();
               return false;
            }
            //Effettua il controllo sul campo "Messaggio"
            else if ((Messaggio == "") || (Messaggio == "undefined")) {
               alert("Il campo Messaggio è obbligatorio.");
               document.Messaggi.Messaggio.focus();
               return false;
            }
            //INVIA IL MODULO
            else {
               document.Messaggi.action = "sendmail.php";
               document.Messaggi.submit();
            }
      }
     //-->
    </script>
    rispetto all'originale infatto l'ho parecchio ridotto, io ho solo 5 campi di cui 2 obbligatori!
    Quello che mi crea problemi è l'email, che deve essere verificata se corretta ma non è obbligatoria. come faccio?
    ho provato togliendo (Email == "") || (Email == "undefined") ma non cambia!

    Inoltre vi propongo un altro quesito: è possibile mettere lo stesso script in un file esterno o ci sono rischi che non venga caricato compromettendo il controllo?

    grazie!

  2. #2
    Ecco lo script: se il campo e-mail è lasciato vuoto, allora
    l'email non sarà controllata, altrimenti ne sarà controllata l'esattezza.
    codice:
    <script>
    <!--
      function Modulo() {
         var Email = document.Messaggi.Email.value;
         	if ((Email=="")||(Email=="undefined"))
    	{
    	alert("L\' e-mail non sarà controllata");
    	}
    	else
    	{
    	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
            if (!email_reg_exp.test(Email)) 
    	{
               alert("Inserire un indirizzo Email corretto.");
               document.Messaggi.Email.select();
    	   document.Messaggi.Email.value="";	
    	   document.Messaggi.Email.focus();
               return false;
            }
    	}
    }
     //-->
    </script>
    Open ur mind 'n ENJOY da' power of JavaSkript :-)...
    Coded by 16437952

  3. #3
    ti ringrazio molto, ma così non va bene:
    se il campo email non viene riempito non deve comparire nessun alert, deve essere solo fatto il controllo sulla validità se inserito un indirizzo.
    inoltre ho già una sequenza di if e else, come faccio ad inserirne un'altra in mezzo? non funziona più nulla! magari potrei farlo richiamando una seconda funzione per la mail (non me ne intendo, magari ho detto una scemata)

  4. #4
    help please!
    è l'ultima cosa che mi manca per finire un sito!!

  5. #5
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Tiè anche questo:
    codice:
    function Modulo() {
         var Email = document.Messaggi.Email.value;
         	if ((Email=="")||(Email=="undefined"))
    	{
    	return true;
    	}
    	else
    	{
    	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
            if (!email_reg_exp.test(Email)) 
    	{
               alert("Inserire un indirizzo Email corretto.");
               document.Messaggi.Email.select();
    	   document.Messaggi.Email.value="";	
    	   document.Messaggi.Email.focus();
               return false;
            }
    	}
    }
    www.beppegrillo.it
    Il blog di Beppe!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.