Foros del Web » Programando para Internet » Javascript »

Duda: textbox que acepte solo numeros

Estas en el tema de Duda: textbox que acepte solo numeros en el foro de Javascript en Foros del Web. Hola Tengo una duda,a ver si me podeis ayudar, tengo un textbox de jsp, y he metido este evnto para que no acepte letras, pero ...
  #1 (permalink)  
Antiguo 16/01/2009, 07:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Duda: textbox que acepte solo numeros

Hola

Tengo una duda,a ver si me podeis ayudar, tengo un textbox de jsp, y he metido este evnto para que no acepte letras, pero no puedo meter los numeros de la derecha del teclado, que hay que añadir a la funcion?

esto es lo que tengo en el script

function soloNumeros(evt)
{
var key = evt.keyCode ? evt.keyCode : evt.which ;
return (key <= 40 || (key >= 48 && key <= 57));
}


y esto en el boton

onkeydown="return soloNumeros(event);"



muchas gracias
  #2 (permalink)  
Antiguo 16/01/2009, 07:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: Duda: textbox que acepte solo numeros

Hola Khaos

Echa un vistazo a esta página: validar formularios

Saludos,
  #3 (permalink)  
Antiguo 16/01/2009, 07:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

voy,

thanks
  #4 (permalink)  
Antiguo 16/01/2009, 07:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

entonces la funcion seria algo asi

function soloNumeros(evt)
{


tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
patron =/\d/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

no? a ver si funciona
  #5 (permalink)  
Antiguo 16/01/2009, 08:03
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

no vaaaaaaa!!!
  #6 (permalink)  
Antiguo 16/01/2009, 08:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

me dice que e.keyCode es nulo o no es un objeto
  #7 (permalink)  
Antiguo 16/01/2009, 15:41
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

nadie??????
  #8 (permalink)  
Antiguo 16/01/2009, 18:42
Avatar de wilder21  
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

QUE TAL ESTO :

function impideLetras(e) {
var tecla = (document.all) ? e.keyCode : e.which;
if (tecla<48 || tecla>58)
return false;
}
  #9 (permalink)  
Antiguo 17/01/2009, 04:08
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Respuesta: Duda: textbox que acepte solo numeros

Hola de nuevo.

El código funciona bien. Prueba este ejemplo:

Código javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function validar(e) {
  5.     tecla = (document.all) ? e.keyCode : e.which;
  6.     if (tecla==8) return true;
  7.     patron =/\d/;
  8.     te = String.fromCharCode(tecla);
  9.     return patron.test(te);
  10. }
  11. </script>
  12. </head>
  13.  
  14. <body>
  15. <input type="text" name="textfield" onkeypress="return validar(event)" />
  16. </body>
  17. </html>

Saludos,
  #10 (permalink)  
Antiguo 19/01/2009, 03:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Duda: textbox que acepte solo numeros

funcionaaaa!!!! al final me quedé con la version de javier

muchas gracias a los 2
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 03:27.