Ovviamente la mia non era una critica al tuo modo di esprimerti, ho semplicemente preferito fare chiarezza altrimenti facciamo fatica a capirci. Fai una prova cosi:
Per effettuare i controlli sul form ora devi eseguire solo la funzione "controllo"codice:function ControllaCF(cf) { var validi, i, s, set1, set2, setpari, setdisp; if( cf == '' ) return "Errore: compilare il campo CODICE FISCALE"; cf = cf.toUpperCase(); if( cf.length != 16 ) return "La lunghezza del codice fiscale non è\n" +"corretta: il codice fiscale dovrebbe essere lungo\n" +"esattamente 16 caratteri.\n"; validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; for( i = 0; i < 16; i++ ){ if( validi.indexOf( cf.charAt(i) ) == -1 ) return "Il codice fiscale contiene un carattere non valido `" + cf.charAt(i) + "'.\nI caratteri validi sono le lettere e le cifre.\n"; } set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; s = 0; for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) return "Il codice fiscale non è corretto:\n"; return "OK"; } // script che verifica che tutti i campi form siano popolati function controllo(){ with(document.InsUtenteZS) { if(realzs.value=="") { alert("Errore: compilare il campo USERNAME"); realzs.focus(); return false; } if(PWUtente.value=="") { alert("Errore: compilare il campo PASSWORD"); PWUtente.focus(); return false; } if(nome.value=="") { alert("Errore: compilare il campo NOME"); nome.focus(); return false; } if(cognome.value=="") { alert("Errore: compilare il campo COGNOME"); cognome.focus(); return false; } if(luogo.value=="") { alert("Errore: compilare il campo LUOGO DI NASCITA"); luogo.focus(); return false; } returnCode = ControllaCF(mail.value); if(returnCode != "OK"){ alert(returnCode); mail.focus(); return false; } } alert("Controllo effettuato con successo. Il modulo sarà inviato."); return true; }

Rispondi quotando