Originariamente inviato da FastMagister
figurati...

dunque crea un tasto che non sia di tipo submit
codice:
<input type="button" name="INVIA" onClick="javascript:invia()>"
e poi crei la funzione invia()

codice:
function invia()
{
if (corretto==true)
    document.MyForm.submit();
}
cosi' dovrebbe andare (piu' o meno).

Per raffinare la cosa potresti fare anche cosi': modificare la funzione invia() affinche' cicli tutti gli elementi della form e per ognuno di essi controlli la validita'

tipo cosi'

controlla('mytext', 'errore1')



codice:
function invia()
{
mytext = document.getElementById("mytext").
mytext.controlla(mytext, "errore1");

mytext2 = document.getElementById("mytext2").
mytext2.controlla(mytext2, "errore2");

// eccetera... se i campi sono molti si puo' fare un cicol for

if (corretto==true)
    document.MyForm.submit();
}

ho improvvisato... probabile ci siano errori