Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Firefox bloquea el tabulador en esta función

Estas en el tema de Firefox bloquea el tabulador en esta función en el foro de Jquery en Foros del Web. Hola. tengo esta función Código: //input solo numeros function Comprobarnum(e) { tecla = (document.all) ? e.keyCode : e.which; if (tecla==8) return true; //Tecla de retroceso ...
  #1 (permalink)  
Antiguo 20/11/2015, 02:55
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Firefox bloquea el tabulador en esta función

Hola.

tengo esta función
Código:
//input solo numeros
function Comprobarnum(e) {
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar) 
	patron =/^-?\d*\.?\d*\,?\d*$/; // Solo acepta numeros  
    te = String.fromCharCode(tecla);  
    return patron.test(te);  
}
sirve para que en unos input variados solo permita meter números y no letras, la forma de llamar esa función la hago con onkeypress="return Comprobarnum(event)" en cada uno de los input que quiero que solo acepte números, pero por alguna extraña razón en firefox bloquea el uso del tabulador en el momento que la uso ¿alguien sabe a que puede ser? firebug no me detecta ningún fallo y me trae un poco loco...

como siempre muchísimas gracias por vuestro apoyo
  #2 (permalink)  
Antiguo 20/11/2015, 14:04
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Firefox bloquea el tabulador en esta función

al final he cambiado la función por esta que ademas es mas fácil adaptarla a cambios y ya funciona...

me faltaria pulir el mensaje de error para que solo salga cuando pulsen una tecla incorrecta, pero bueno. pongo la solución por si a alguien le sirve

Código:
//comprobamos que los datos sean numeros
function Comprobarnum(e) {
  // Variables que definen los caracteres permitidos
  var numeros = "0123456789,-";
  var teclas_especiales = [37, 39, 46, 190, 188, 9, 173]; //46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
 
  // Obtener la tecla pulsada
  var evento = e || window.event;
  var tecla = evento.charCode || evento.keyCode;
  var caracter = String.fromCharCode(tecla);
 
  // Comprobar si la tecla pulsada es alguna de las teclas especiales
  var tecla_especial = false;
  for(var i in teclas_especiales) {
    if(tecla == teclas_especiales[i]) {
      tecla_especial = true;
      break;
    }
  }

  // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
  var chachi = numeros.indexOf(caracter) != -1 || tecla_especial;
  //  if ((chachi == false) || (tecla_especial == false)) { $().toastmessage('showToast', { text : 'Solo pueden introducirse numeros enteros' , sticky : false, type : 'notice' }); }
  return chachi;
}
y la llamo con eso:

<input type="text" name="cantidad" onkeypress="return Comprobarnum(event)">

Etiquetas: firefox, tabulador
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 00:53.