C'e` un po' di confusione.
<form onSubmit="return miafunzione();">
...
<input type="button" onClick="faiunaltracosa(); if(miafunzione()) this.form.submit();">
...
<input type="submit: ....>
</form>
Nella funzione miafunzione() NON CI DEVE essere il submit, ma deve ritornare true se vuoi che il form venga spedito, e false se non lo vuoi.
Esempio:
function miafunzione() {
....
if(...qualcosa errato...) return false;
....
if(...qualcos'altro errato...) return false;
....
return true; // il form viene spedito
}
Ciao
Michele