Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/11/2015, 14:04
killpe
 
Fecha de Ingreso: octubre-2015
Ubicación: españa
Mensajes: 53
Antigüedad: 8 años, 7 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)">