Buenas noches, escribo en esta oportunidad porque tengo una duda. Estoy trabajando en generar un array de input y a esos input le agrego una clase para solo acepte números, pero el problema que se presenta es que al parecer pierde la validación, ¿eso a qué se debe? Este es el código que estoy utilizando:
for ($i=0; $i<count($cantidad); $i++) { <input type="text" class="form-control solvInput validar-numero" name="solvencia[]" maxlength="5" style="width: 100px;" disabled /> }
Y esta es la validación que tengo en el código JavaScript:
$(".validar-numero").keydown(function (e) { if (e.shiftKey || e.ctrlKey || e.altKey) { e.preventDefault(); } else { var key = e.keyCode; if (!((key == 8) || (key == 46) || (key >= 35 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105))) { e.preventDefault(); } } });
¿Cómo hago para que me funcione la validación en el input text cuando son un array?
Respuestas
El código que muestras es la forma correcta de hacerlo. Aplicas una clase CSS común a todos los elementos y luego aplicas el keydown()
tal y como muestras. Te aconsejo que pongas algún console.log()
dentro del if ... else
del keydown()
para ver si las condiciones se están cumpliendo como tú quieres.
@javiereguiluz