Foros del Web » Programando para Internet » Javascript »

OnChange ? OnKeyPress ? OnKeyup ? Como hago?

Estas en el tema de OnChange ? OnKeyPress ? OnKeyup ? Como hago? en el foro de Javascript en Foros del Web. Les cuento, tengo un carrito de compras, el cual anda todo bien, salvo por una cosa. Las cantidades las puede cambiar porque estan en un ...
  #1 (permalink)  
Antiguo 20/08/2007, 19:14
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 1
OnChange ? OnKeyPress ? OnKeyup ? Como hago?

Les cuento, tengo un carrito de compras, el cual anda todo bien, salvo por una cosa. Las cantidades las puede cambiar porque estan en un campo de texto. Hasta ahi todo bien, pero despues de cambiar la cantidad, no pasa nada, osea si no aprieta el boton "recalcular" el total da mal.

Para esto vi en algunos carritos que apenas se cambia la cantidad en el campo de texto, la pagina se actualiza sola, lo cual es lo mejor.

El problema esta en que si uso Onchange, hasta que el usuario no aprieta con el mouse fuera del campo de texto, esta no se actualiza. Y si uso OnKeyPress o OnKeyup, el problema se presenta en que si aprieto backspace para borrar ya actualiza, o si no, si quiero escribir 50, al apretar el 5 ya se actualiza.

Yo quiero que ande como esta pagina:
http://local.garbarino.com/garba2006...rden.php?acc=1

Como puedo hacer?
  #2 (permalink)  
Antiguo 20/08/2007, 19:22
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: OnChange ? OnKeyPress ? OnKeyup ? Como hago?

Si miras el código de esa página, puedes saberlo.

<input name="c|31415" type="text" id="p31415" value="9" size="2" maxlength="s" onKeyUp="validarCantidad(this);" onChange="validarCantidad(this);FORMASDEPAGO.cambi os=1;"/>

Te he puesto en negrita lo que que hace cada vez que cambias el valor de la cantidad, si te fijas lo que hace es llamar a la función en el el caso en el que apretes en otro sitio o cuando se cambia el valor. Y se pasa el nombre del Input a la función para que solo se actualice esa linea, y el cálculo total.

En tu caso tendias que cambiar el validarCantidad(this); por tu script.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #3 (permalink)  
Antiguo 20/08/2007, 20:09
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: OnChange ? OnKeyPress ? OnKeyup ? Como hago?

Si, eso lo habia visto, pero lo que no entiendo es como hacen para que no se actualize al instante, porque yo lo pruebo en mi carrtio y al apretar backspace para borrar la cantidad y escribir una nueva y ya me actualiza la pagina sin siquiera poder escribir, y si quiero escribir un numero de dos cifras lo mismo, escribo el primer numero y ya se actualizo
  #4 (permalink)  
Antiguo 21/08/2007, 03:20
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: OnChange ? OnKeyPress ? OnKeyup ? Como hago?

No se esactamente a que te refieres pero yo en cuanto pongo un numero de 2 cifras o 3, o al borrar alguna se actualiza la página, antes de que termine de poner la cantidad total.

Y esto deberia de ser asi porque se cambia la cantidad y tiene puesto que en el cambio del valor que se actualice.

Supongo que tu podras controlar eso desde el script, añadiendo una variable que controle el tiempo, asi si no tocas nada por ejemplo en 1 segundo se actualice el campo, y si tas tocando la cantidad poniendo muchos dijitos o borrando que no se actualice, hasta que no pase 1 segundo de inactividad.

¿Por cierto, tu miras tu carrito en local o en internet? Es que en Local es todo mas rapido que en internet.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Última edición por bookmaster; 21/08/2007 a las 03:25
  #5 (permalink)  
Antiguo 21/08/2007, 05:40
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: OnChange ? OnKeyPress ? OnKeyup ? Como hago?

Claro ! a eso me refiero ! no me da tiempo a escribir todo completo, se actualiza antes de que pueda terminar de escribir.
Pasa que la pagina que uso se actualiza muy rapido, aunque sea en internet.
Por eso lo que estoy buscando es si alguien me puede ayudar con eso de la inactividad, que seria la solucion.

Yo habia probado algo asi en el javascript para retardar la accion, pero nunca me funciono:

For i=0 to 50000
next

Algo muy precario como para que tarde un poco mas en reaccionar.Pero lo que logro con esto es que tarde mas, pero no pueda hacer nada mientras, osea que estoy en la misma.

Como puedo lograr ese delay?
  #6 (permalink)  
Antiguo 22/08/2007, 04:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: OnChange ? OnKeyPress ? OnKeyup ? Como hago?

nadie sabe?
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 20:41.