funzione javascript per validazione form

ari

Utente Attivo
6 Set 2007
34
0
0
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!!!
 

jan267

Utente Attivo
6 Mar 2003
1.950
2
38
35
Milano
twitter.com
Ciao,
prova prima di tutto a correggere questo errore di sintassi: elseif in else if!
Poi se fossi in te io utilizzerei gli id (document.getElementById) al posto di document.registrazione.xxx.value... ma questo è un parere mio.
 
Ultima modifica:

ari

Utente Attivo
6 Set 2007
34
0
0
Ho corretto l'else if :eek: !! Grazie. Cmq il problema non cambia.
Per l'altro suggerimento, davo cambiare secondo te solo alla dichiarazione delle variabili, o anche per il focus e l'asseganzione?
Cioè, va bene così:
function validaReg(){
var ID = document.getElementById(id);
var PW = document.getElementById(pw);
var CPW = document.getElementById(cpw);
var MAIL = document.getElementById(mail);
var CMAIL = document.getElementById(c_mail);

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;
}
else if (PW != CPW) {
alert("La password confermata è diversa da quella scelta, controllare.");
document.registrazione.cpw.value = "";
document.registrazione.cpw.focus();
return false;
}

else if (!email_reg_exp.test(MAIL)) {
alert("Inserire un indirizzo email corretto.");
document.registrazione.mail.select();
return false;
}

else if (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();
}
}

Grazie!!!
 

ari

Utente Attivo
6 Set 2007
34
0
0
ragazzi...ho risolto, anche se non capisco precisamente come...forse cambiando un po' di impostazioni al browser...davvero non so. Grazie cmq!!! A presto, che sicuramente sorgeranno altri problemi.
 
Discussioni simili
Autore Titolo Forum Risposte Data
T [Javascript] funzione per attivare analytics... dov'è l'errore? Javascript 14
L [javascript]problema funzione per webapi Javascript 4
A Funzione javascript per effettuare la slide del carosello in avanti Javascript 0
G funzione javascript per passaggio valori Javascript 1
M JavaScript: lanciare funzione ASP per salvare dati in database Javascript 0
G [javascript]Chiamare funzione javascript per menù Javascript 2
C lanciare una funzione javascript e attenderne la fine per lanciarne una seconda Javascript 1
S Funzione JavaScript per selezione Javascript 3
IClaude Funzione Javascript Javascript 8
max1974 [Javascript] Funzione Errata procedura Javascript 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
R [Javascript] Rendere una funzione sempre visibile Javascript 2
A [Javascript] tabella dinamica e onchange su funzione Javascript 1
P [Javascript] Inserire una nuova condizione in una funzione Javascript 3
C [Javascript] Chiamata di una funzione da *.js esterno Javascript 1
J [Javascript] una funzione ricorsiva che non capisco come lavori Javascript 6
G [Javascript] nome da dare ad una funzione Javascript 1
Laskot [Javascript] Funzione JS con parametro Javascript 4
ken_korn [Javascript] Portare variabile in una funzione esterna al suo scope Javascript 2
I Riportare dati funzione javascript in textbox Javascript 0
P [Javascript] eseguire una funzione dopo un'altra Javascript 0
Strato-Fortex [Javascript] Risoluzione funzione cifrario di Cesare Javascript 4
S [Javascript] Problema richiamo funzione Javascript 8
F [Javascript] Problema funzione jquery con elementi css esterni Javascript 1
M [Javascript] Funzione con collegamenti ipertestuali JS Javascript 4
Andrea Perrone funzione javascript applicata al gioco della dama Javascript 2
S [Javascript] Codice JS inline non funzione su IE Javascript 1
ANDREA20 [Javascript] funzione menu Javascript 1
M Far partire una funzione/codice php con javascript Javascript 1
U Far partire una funzione JavaScript premendo bottone in html Javascript 13
Marco_88 Funzione mouseover Javascript jQuery 3
V Chiamata funzione php da javascript Ajax 3
M Lanciare una funzione asp.net con javascript. E' possibile? ASP.NET 0
A richiamare funzione javascript dopo login in popup. Javascript 0
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
ivarello Attivare funzione Javascript con Jquery jQuery 0
F funzione javascript all'interno di un codice php PHP 38
A eseguire codice html da funzione javascript Javascript 2
C Un form di input e uno di output con funzione javascript Javascript 17
D Problema nella chiamata ad una funzione javascript da href Ajax 2
A Salvataggio dati (era: funzione penso in javascript) PHP 2
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
mkrapfen aiuto! funzione javascript Javascript 0
G ajax php myqsl - problema con funzione javascript Ajax 1
I javascript non carica funzione Javascript 0
D Funzione javascript che pulisca un campo input Javascript 0
F Memorizzare valore variabile da una funzione javascript Javascript 10

Discussioni simili