Hola:
Supongo que tu error en concreto es usar la letra eñe en un objeto... eso hace que se produzca un error, y se aborte la validación.
Apuntes adicionales:
Siempre usa un botón submit para enviar formularios... así son accesibles.
Usar el método submit es forzar el envío, pero según parece que es este caso, si se aborta la validación por errores tampoco se envían...
Las validaciones debes procurar que sean de este modo: <form onsubmit="return validar(this)"...> usar un botón submit y la función validadora debe devolver false se debe abortarse o cancelarse (cuando no pasa la validación)
Y las validaciones importantes deben ser en el servidor.
Saludos