Foros del Web » Programando para Internet » Javascript »

Retardo onKeyUp

Estas en el tema de Retardo onKeyUp en el foro de Javascript en Foros del Web. ¿Alguien sabe como retardar la ejecución de un onKeyUp? Lo digo porque tengo una actualización de precios mostrada por pantalla, y si el usuario quiere ...
  #1 (permalink)  
Antiguo 29/07/2010, 08:33
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Retardo onKeyUp

¿Alguien sabe como retardar la ejecución de un onKeyUp?

Lo digo porque tengo una actualización de precios mostrada por pantalla, y si el usuario quiere saber lo que cuestan 10 productos, al escribir un 1 se llama a la función, el usuario no puede hacer nada, y le muestra el precio de uno, y después ya puede escribir el 0.

Por favor, es ligeramente urgente.

Gracias por todo
  #2 (permalink)  
Antiguo 29/07/2010, 09:00
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Retardo onKeyUp

llama a una funcion en el evento onkeyup, la cual esta haga eso de calcular el precio y retorna el resultado (listo no ?).

si lo que quieres es prohibirle que siga escribiendo hasta q no retornes nada, dale un return false en la funcion...

espero haberte ayudado ^^

suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 29/07/2010, 09:08
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Retardo onKeyUp

Gracias por la respuesta.
Igual me he explicado mal: lo que quiero es que el tio pueda escribir el número 100 sin que cuando escriba el 1 el programa ejecute la función y no le deje escribir los dos 0, ya que el onkeyup se ejecuta en cuanto dejas de presionar un tecla.
¿Me entendiste?
  #4 (permalink)  
Antiguo 29/07/2010, 09:49
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Retardo onKeyUp

no te entendi nada mi estimado

quieres que el usuario escriba el 100 o quieres que solo escriba el 1 y tu hagas algo ?
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #5 (permalink)  
Antiguo 29/07/2010, 10:03
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Retardo onKeyUp

Jajaja. Voy por partes:
Lo que tengo: Un usuario quiere comprar el producto "x" y tengo una función que si el usuario introduce en una caja de texto un "100" le devuelve en un label el precio de las 100 unidades. Problema: Si el usuario quieres comprar "100", al intentar introducir el número "100" solo le deja meter un "1", ya que al tener el onkeyup y pulsar la tecla "1", javascript realiza la función de calcular el precio y devuelve el precio de 1 producto. Cuando lo ha devuelto, el usuario puede volver a escribir y entonces puede meter un "0" con lo que en la caja de texto habría un "10", javascript vuelve a lanzar la función y devuelve el precio de 10 productos.
Lo que quiero: quiero que el usuario pueda meter de golpe un "10" o un "100" o un "55" en la caja de texto y que javascript devuelva el precio de esa cantidad de productos, y no se como hacerlo, por lo que creo que la mejor forma es decirle al programa que se espere durante 2 o 3 segundos para que el usuario pueda escribir la cantidad que quiera antes de que javascript ejecute la función.
¿Alguna solución?
  #6 (permalink)  
Antiguo 30/07/2010, 01:53
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Retardo onKeyUp

¿Nada? Bueno, sigo esperando ;)
  #7 (permalink)  
Antiguo 30/07/2010, 02:36
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Retardo onKeyUp

En lugar de poner el evento onkeyup, utiliza el evento onblur que es cuando se va el foco, por ejemplo, o pon un boton de listo, o que escriba un # u otro codigo cuando termine, si hay muchas maneras de hacerse...
  #8 (permalink)  
Antiguo 30/07/2010, 03:18
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Retardo onKeyUp

Oks, ante todo gracias por contestar. Ahora voy por partes. El evento onblur no me sirve ya que quiero que se realice la acción sobre la marcha, sin necesidad de quitar el ratón de encima ni pinchar en otro sitio ni nada. De todo lo otro, si te explicas mejor te lo agradecería.

Un saludo
  #9 (permalink)  
Antiguo 30/07/2010, 03:48
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Retardo onKeyUp

Ok, pones el evento onkeyup, y en la funcion cada vez que entre miras a ver si han puesto el caracter de control, si es asi hacer el recuento si no es asi no hacer nada
  #10 (permalink)  
Antiguo 02/08/2010, 02:22
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Retardo onKeyUp

Gracias por contestar jokuto, pero no es lo que necesito.
Querría algo como lo que hay en el registro de gmail, en el que según vas poniendo la contraseña te dice si es debil, fuerte o muy fuerte.

Un saludo
  #11 (permalink)  
Antiguo 06/08/2010, 04:20
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Retardo onKeyUp

No te aclaras!!! Lo de gmail NO es lo que tu pedias
  #12 (permalink)  
Antiguo 06/08/2010, 12:35
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 16 años
Puntos: 66
Respuesta: Retardo onKeyUp

Código Javascript:
Ver original
  1. caja.onkeyup = function(){
  2.   var segundos=2000;
  3.   clearTimeout(temp);
  4.   temp = setTimeout(function(){
  5.     /*haces el calculo que vayas a hacer*/
  6.   },segundos);
  7. }

Etiquetas: onkeyup
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 13:46.