I controlli sull'invio del form vanno effettuati sull'evento onsubmit associato al form stesso e non sull'onclick del pulsante submit.

<form ... onsubmit="return controlli(this)">
...
<input type="submit">
</form>

ciao

Edit: se si adotta la sintassi indicata da Andrea1979 il form verra' inviato qualunque sia l'esito dei controlli, dato che il valore di ritorno della funzione non influisce sul flusso degli eventi.