El problema, viene en que si metes caracteres que no son un número, te salta el error, pero el formulario tira hacia delante..
Me gustaría que si meten datos que no son numéricos me diese el error, y a continuación me dejase el Focus en el mismo campo, y me limpiase los datos de ese campo, es decir, me lo dejase vacío de nuevo.
Pero nose como hacerlo, si me podéis echar una mano...
Formulario:
Código:
validacion:<fieldset> <legend>* Cuestionario *</legend> <br> <ul> <li> » Numero de Pregunta: <input type="number" size="50" min="1" max="90" name="pregunta" id="pregunta" placeholder="Introduce el número de la pregunta" onChange="validarSiNumero(this.value);" required/> <br> <br> </li> </ul> </fieldset>
Código:
<script> function validarSiNumero(numero){ if (!/^([0-9])*$/.test(numero)) alert("El valor '" + numero + "' no es un número"); } </script>
Un saludo, y desde ya muchas gracias.