Ragazzi, ho bisogno di aiuto. Di javascript sono completamente ignorante, ma seguendo alcune guide sto provando a capirci qualcosa. Ora, mi trovo a dover validare una form tramite javascript, ma quando premo il button al click del quale dovrebbe partire la funzione, non succede nulla, mi appare solo il messaggio "errore nella visualizzazione della pagina" sulla barra inferiore di IE. Ecco parte del codice della form, all'interno della quale è dichiarata anche la funzione:
<head>
<title> Registrazione utente </title>
<script type="text/javascript">
<!--
function validaReg() {
var ID = document.registrazione.id.value;
var PW = document.registrazione.pw.value;
var CPW = document.registrazione.cpw.value;
var MAIL = document.registrazione.mail.value;
var CMAIL = document.registrazione.c_mail.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if ((ID == "") || (ID == "undefined") || (PW == "") || (PW == "undefined") || (CPW == "") || (CPW == "undefined") || (MAIL == "") || (MAIL == "undefined") || (CMAIL == "") || (CMAIL == "undefined")) {
alert("Attenzione, devi riempire tutti i campi!");
document.registrazione.id.focus();
return false;
}
elseif (PW != CPW) {
alert("La password confermata è diversa da quella scelta, controllare.");
document.registrazione.cpw.value = "";
document.registrazione.cpw.focus();
return false;
}
elseif (!email_reg_exp.test(MAIL)) {
alert("Inserire un indirizzo email corretto.");
document.registrazione.mail.select();
return false;
}
elseif (MAIL != CMAIL) {
alert("L'indirizzo e-mail ripetuto è diverso da quello inserito, controllare.");
document.registrazione.c_mail.value = "";
document.registrazione.c_mail.focus();
return false;
}
else{
document.registrazione.action = "registra.php";
document.registrazione.submit();
}
}
//-->
</script>
</head>
<body>
<form name="registrazione" method ="post">
[...]\\inserisco i vari campi
<input type="button" value="Indietro" onClick="javascript:history.back()" name="button">
<input type="reset" value="Cancella Tutto"/>
<input type="button" value="Registra" onClick="validaReg();"/> <br/>
</form>
</body>
</html>
Premetto che inizialmente avevo provato a mettere la funzione in un file esterno, ma per evitare altre possibilità di errore ora l'ho messa all'interno.
Visto che il button "Indietro", non credo sia un problema di mancata abilitazione di Javascript. Qualcuno di voi sa darmi una mano? Dov'è che ho sbagliato?
Inoltre, nell'istruzione:
<input type="button" value="Registra" onClick="validaReg();"/>
Ci va o no il ";" ? Ho provato sia con che senza ma niente. HELP!!!
<head>
<title> Registrazione utente </title>
<script type="text/javascript">
<!--
function validaReg() {
var ID = document.registrazione.id.value;
var PW = document.registrazione.pw.value;
var CPW = document.registrazione.cpw.value;
var MAIL = document.registrazione.mail.value;
var CMAIL = document.registrazione.c_mail.value;
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if ((ID == "") || (ID == "undefined") || (PW == "") || (PW == "undefined") || (CPW == "") || (CPW == "undefined") || (MAIL == "") || (MAIL == "undefined") || (CMAIL == "") || (CMAIL == "undefined")) {
alert("Attenzione, devi riempire tutti i campi!");
document.registrazione.id.focus();
return false;
}
elseif (PW != CPW) {
alert("La password confermata è diversa da quella scelta, controllare.");
document.registrazione.cpw.value = "";
document.registrazione.cpw.focus();
return false;
}
elseif (!email_reg_exp.test(MAIL)) {
alert("Inserire un indirizzo email corretto.");
document.registrazione.mail.select();
return false;
}
elseif (MAIL != CMAIL) {
alert("L'indirizzo e-mail ripetuto è diverso da quello inserito, controllare.");
document.registrazione.c_mail.value = "";
document.registrazione.c_mail.focus();
return false;
}
else{
document.registrazione.action = "registra.php";
document.registrazione.submit();
}
}
//-->
</script>
</head>
<body>
<form name="registrazione" method ="post">
[...]\\inserisco i vari campi
<input type="button" value="Indietro" onClick="javascript:history.back()" name="button">
<input type="reset" value="Cancella Tutto"/>
<input type="button" value="Registra" onClick="validaReg();"/> <br/>
</form>
</body>
</html>
Premetto che inizialmente avevo provato a mettere la funzione in un file esterno, ma per evitare altre possibilità di errore ora l'ho messa all'interno.
Visto che il button "Indietro", non credo sia un problema di mancata abilitazione di Javascript. Qualcuno di voi sa darmi una mano? Dov'è che ho sbagliato?
Inoltre, nell'istruzione:
<input type="button" value="Registra" onClick="validaReg();"/>
Ci va o no il ";" ? Ho provato sia con che senza ma niente. HELP!!!