Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2009, 13:32
CMSalvado
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Validar numeros

Hola rol2007, tu código es algo antiguo (de la era de IE4 y Netscape 4, 1998-2000!!), en la actualidad podemos simplificarlo de la siguiente manera:


Código javascript:
Ver original
  1. function isDecimalKey(evt, txt){
  2.     var key = evt.which || evt.keyCode;
  3.     // Capturar el codigo de la tecla presionada.
  4.     // Si no es evt.which, usar evt.keyCode (para IE)
  5.  
  6.     if ((key == 13 || key == 46 || key == 8) || (key >= 48 && key <=57)){
  7.     // Si la tecla es backspace, enter, punto o digito
  8.         if (key == 46 && txt.indexOf('.')!=-1){
  9.         // Si es el caracter "." comprobar que sea el unico
  10.             return false;
  11.         }
  12.         return true;
  13.     }
  14.     return false;
  15. }



Ah y no olvides poner en tus inputs lo siguiente:

Código html:
Ver original
  1. <input type="text" name="monto"
  2.          onkeypress="return isDecimalKey(event, this.value)">

Básicamente la función isDecimalKey retornara true si la tecla presionada es un dígito, o si es el primer punto ingresado, de lo contrario retornará false, impidiendo que se pueda ingresar cualquier texto que no cumpla con lo anterior.

Puedes probar el código anterior acá: jsbin.com/itute
(Lo siento, no puedo incluir enlaces externos debido a que no tengo mas de 30 mensajes!)


Saludos,

-- CMS