Hola:
No me había fijado en la corrección... y es que si usas el método submit() no haces la validación correctamente... creo que te lo comenté en otro mensaje...
Si no intentas hacerlo bien, solo recibirás respuestas "chapuceras"... apaños... pues, la respuesta, con una validación correcta es la que puse en el anterior mensaje... y te recuerdo la estructura de las validaciones (erre que erre):
<form onsubmit="return validar(this)"...
... y disculpame, pero me niego a dar respuestas chapuceras...
Saludos