Foros del Web » Programando para Internet » Jquery »

event.keyCode o event.which ...Mozilla

Estas en el tema de event.keyCode o event.which ...Mozilla en el foro de Jquery en Foros del Web. Buenas a todos, tengo el siguiente codigo para validar que solo el usuario pueda digitar numero enteros en todos los input con class entero @import ...
  #1 (permalink)  
Antiguo 08/07/2015, 13:52
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
event.keyCode o event.which ...Mozilla

Buenas a todos, tengo el siguiente codigo para validar que solo el usuario pueda digitar numero enteros en todos los input con class entero

Código Javascript:
Ver original
  1. $( "body" ).delegate( ".entero", "keypress", function(event) {
  2.        
  3.    return /\d/.test(String.fromCharCode(event.keyCode));
  4. });

Sin embargo de esta forma no funciona en Mozilla Firefox

Entonces cambie el event.keyCode por event.which y ahora funciona en todos los navegadores. Sin embargo en Mozilla, deshabilita hasta la tecla de borrar, lo cual pues seria un inconveniente para el usuario.

Quisiera saber si existe otra forma para usar, o que debo corregirle a la mia para poder habilitar solo el ingreso de digitos

De antemano muchas gracias.
  #2 (permalink)  
Antiguo 09/07/2015, 10:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: event.keyCode o event.which ...Mozilla

Las teclas tienen códigos internos que las identifican. Por ejemplo, las teclas numéricas van del 48 al 57 mientras que la de borrado es la 8. Podrías usar una expresión regular con dichos valores o con sus equivalentes hexadecimales o crear un array con los valores y buscar en él.

Código Javascript:
Ver original
  1. return [8, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57].indexOf(event.which) > -1;

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: mozilla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:50.