Es decir, que si los campos estan vacios no debería enviarseel form, pero si lo hace.
formulario
Código HTML:
Ver original
<form class="formEncuesta" name="formulario" method="post" action="registrar.php"> <fieldset> <ul> <li> </li> <li> » Nota del Evaluador 1: <input type="number" size="50" min="0" max="100" name="evaluador1" id="evaluador1" placeholder ="Introduce Calificación Evaluador 1" onChange="validar(this.id);" required/> * </li> <li> » Nota del Evaluador 2: <input type="number" size="50" min="0" max="100" name="evaluador2" id="evaluador2" placeholder ="Introduce Calificación Evaluador 2" onChange="validar(this.id);" required/> * </li> <li> </li> <li> <table> <tr> </tr> <tr> </tr> </table> </fieldset> <br> </form>
validacion:
Código Javascript:
Ver original
// Validacion Numérica function validarEntero(input){ return !isNaN(input)&&parseInt(input)==input; } //Campos valoración function validar(campo){ var valoracion = document.getElementById(campo); if((!validarEntero(valoracion.value))||(valoracion.value == "")||(valoracion.value <= 0)||(valoracion.value > 100)){ valoracion.value = ""; valoracion.focus(); return 0; } } //Campo pregunta function verificar(campo){ var pregunta = document.getElementById(campo); if((!validarEntero(pregunta.value))||(pregunta.value == "")||(pregunta.value < 1)||(pregunta.value > 90)){ pregunta.value = ""; pregunta.focus(); return 0; } }
Comprueba varias cosas, entre ellas que el valor no sea "" (es decir, vacío), pero el caso es que, aunque sí que funciona la validación (pues por ejemplo no te deja poner un 0), el formulario se envía si lo dejas vacío.
Que problema hay? Porque se envía si los campos están vacíos? :S
No debería enviarse, para eso le pongo el return 0; (también he probado con return false; y nada..)
Un saludo y muchas gracias compañeros.