Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

No funciona la validación de números en un array en input text

14 de agosto de 2015

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

#1

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

14 agosto 2015, 11:03