tu ha una funzione che controlla i dati del form (chiamiamola controlla_dati())
e un'altra che li invia tramite xmlhttprequest (chiamamola invia_dati_con_ajax())
la prima deve controllare i campi terminando con un return true se tutto è a posto
oppure un return false al primo errore.
La seconda sarà invocata se la prima funzione restituisce true e questa invece dovrà ritornare false alla fine
quindi l'onsubmit diventerà
<form... onsubmit="return (controlla_dati())? invia_dati_con_ajax() : false"
P.s. Nel tuo caso forse la cosa migliore sarebbe usare ajax anche per validare i vari campi, tantopiù che lo stesso controllo lo devi fare comunque anche lato server (o avrai possibili problemi di sicurezza)

Rispondi quotando