-
Errore firefox
Io ho questo codice js:
Codice HTML:
function controllo_dati(){
user=form1.myusername.value
mail=form1.mymail.value
if(user=="" || mail==""){
alert('Riempi tutti i campi');
prosegui=false
return false;}
alert('ho controllato campi');
if(mail.indeOf("@")==-1 || mail.indeOf(".")==-1){
alert('Inserisci un\'indirizzo e-mail valido');
prosegui=false
return false;}
alert('ho controllato mail');
if(isNaN(user)==true){alert('Non puoi avere come username un numero');
prosegui=false
return false;}
alert('ho controllato numero user');
if(prosegui==true){
return true;}
}
Solo che mettendo per esempio come user un numero 8dovrebbe bloccarsi) si ferma all'alert (ho controllato i campi) e nn fa il resto dove dovrebbe rendersi conto del tipo di user.
Ho messo gli alert come fonte di debug..
sapete aiutarmi?
-
L'espressione isNaN(user) restituisce sempre true, poiché user è una stringa. In questi casi è meglio usare le espressioni regolari, che permettono di definire bene la sintassi di una stringa. Ti conviene anche usare le espressioni regolari per il campo email, poiché le condizioni imposte da te non sono sufficienti per verificare la correttezza dell'indirizzo email. Infine, ti consiglio di usare i metodi del DOM per far eseguire la funzione da te riportata all'accadere di un certo evento, e non di utilizzare semplicemente gli attributi on* dell'HTML.
P.s.: Firefox non c'entra niente, è un'errore di logica.
-
ho risolto :D
non dico che è errore è..dico solo che c'è stato un errore e faccio il redirect alla pagina di login