Forse quel controllo ti lascai passare tutto.
Prova a metterci return false; dove e` sbagliato e a chiamare la funzine con return nomefunz(); dentro l'attributo dell'evento.
Devi chiamare la funzione con:codice:function controlla(ff) { var cap1 = ff.txt_CAP.value; if (cap1 == '') { alert("C.A.P. obbligatorio"); ff.txt_CAP.focus(); return false; } else if (!cap1.match(/^[0-9]{5}$/) { alert("il C.A.P. deve essere di 5 caratteri numerici"); ff.txt_CAP.focus(); return false; } var ema1 = ff.txt_Email.value; if (ema1 == '') { alert("Email obbligatoria"); ff.txt_Email.focus(); return false; } else if(!ema1.match(/^.{2,}\@.{2,}(\..{2,})+?$/) { alert("controlla sintassi Email"); ff.txt_Email.focus(); return false; } var tel1 = ff.txt_Tel.value; if (tel1 == '') { alert("Telefono obbligatorio"); ff.txt_Tel.focus(); return false; } else if(!tel1.match(/^\+??[0-9 ]$/) { alert("controlla sintassi Telefono"); ff.txt_Tel.focus(); return false; } return true; }
<form ... onsubmit="return controlla(this);">
Attenzione che ci soino vari backslash. Se non li vedi fai un quote del messaggio prima di fare il copia-incolla.

Rispondi quotando