Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] No entiendo porque no funciona el .test()

Estas en el tema de No entiendo porque no funciona el .test() en el foro de Javascript en Foros del Web. Estoy probando de hacer un pequeño experimento pero no entiendo porque no me funciona el .test() para comprobar si es un número positivo. "Text" es ...
  #1 (permalink)  
Antiguo 10/11/2013, 12:22
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
No entiendo porque no funciona el .test()

Estoy probando de hacer un pequeño experimento pero no entiendo porque no me funciona el .test() para comprobar si es un número positivo. "Text" es un input de tipo "text" donde al pulsar un "button" de al lado se ejecuta esta función. Este es el script:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var numero = /^\d*$/;
  3. var nombre = document.getElementById("text").value;
  4. function descomp() {
  5.     if (numero.test(nombre)) {
  6.         alert("TRUE");
  7.         }
  8.     else {
  9.         alert("FALSE");
  10.     }
  11.    
  12. }
  13.  
  14.  
  15. </script>
¿Podría alguien ayudarme? Muchas gracias :)
  #2 (permalink)  
Antiguo 10/11/2013, 12:27
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: No entiendo porque no funciona el .test()

El código está bien.
  #3 (permalink)  
Antiguo 10/11/2013, 12:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No entiendo porque no funciona el .test()

buenas,
siempre te va mostrar false a menos que el campo tenga un valor inicial. al momento del script interpretarse, obtienes el valor del campo siempre y cuando el campo exista. luego al invocarse la función, utilizas la variable que previamente fue inicializada. es ahí donde tienes el error, el valor del campo tienes que agarrarlo cuando se invoque la función.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 10/11/2013, 12:51
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: No entiendo porque no funciona el .test()

¿Cómo puedo solucionarlo?
  #5 (permalink)  
Antiguo 10/11/2013, 12:53
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: No entiendo porque no funciona el .test()

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function descomp(){
  3. var numero = /^\d*$/;
  4. var nombre = document.getElementById("text").value;
  5.     if (numero.test(nombre)) {
  6.         alert("TRUE");
  7.         }
  8.     else {
  9.         alert("FALSE");
  10.     }
  11.    
  12. }
  13. </script>
  #6 (permalink)  
Antiguo 10/11/2013, 12:57
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: No entiendo porque no funciona el .test()

¡muchas gracias! :d

Etiquetas: funcion
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:09.