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!