un paio di appunti
e' lecito riferirsi ad un form (di cui si sia specificato il name) con document.nomeForm
cosi' come lo sarebbe con document.forms['nomeForm']
questo e' javascript classico, crossbrowser

occhio anche a this.parent, se intendessi this.parentNode sarebbe un bel problema
<form>
<fieldset>
<input type="button">
</fieldset>
</form>
il parentNode del button sarebbe il fieldset, non il form

parent da solo e' l' oggetto window superiore, nel caso di documenti contenuti in frameset, o il window stesso (equivalente di self) nel caso di documento fuori da frameset
quindi neanche parent va bene


this.form passerebbe il riferimento al <form> corretto



tornando all' errore, puo' essere determinato dall' avere un elemento con name="submit" perche' quando si richiama il metodo submit() del form il browser si impappina con l' elemento in questione

i return sono irrilevanti, il type="button" e' neutro, il click su di esso non implica alcuna esecuzione (al contrario di un submit, image, reset) da gestire tramite return
ciao