Originariamente inviato da br1
onclick sul tasto submit, qualunque sia l'esito della funzione richiamata, non impedisce l'invio del form.

O utilizzi onclick su un semplice button, oppure devi usare onsubmit nel form.

<form ... onsubmit="tuafunzione();return false">

oppure

<input type="button" ... onclick="tuafunzione()">
grazie funzionano tutti e due i metodi, volevo ancora capire una cosa,
perché sull'onsubmit metti return false??