Foros del Web » Programando para Internet » Javascript »

onKeyPress()

Estas en el tema de onKeyPress() en el foro de Javascript en Foros del Web. Veamos, muchas páginas usan este evento para ir validando datos de sus formularios y me hago una pregunta, si asocio a ese evento una función ...
  #1 (permalink)  
Antiguo 21/04/2009, 20:15
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 20 años, 6 meses
Puntos: 4
onKeyPress()

Veamos, muchas páginas usan este evento para ir validando datos de sus formularios y me hago una pregunta, si asocio a ese evento una función ¿qué ocurre cuando el usuario pulsa una tecla y luego vuelve a pulsar otra? ¿hay que introducir alguna instrucción para decirle a la función que se detenga y se recargue de nuevo o esto es automático?

Otra pregunta: ¿Cómo puede saberse cuando un usuario ha dejado de escribir? Pensé en iniciar un temporizador en cuanto se detectara o un evento "onChange" ó un "onKeyPress" ó un "onKeyDown" y si pasado un tiempo X no se detecta otra pulsación que "reiniciara" el temporizador pues que interpretara que el usuario ha dejado de escribir, pero no se si esto es viable y tampoco se usar temporizadores (no tengo ni idea de como estructurarlo y más sin saber la respuesta a la pregunta inicial del post).
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #2 (permalink)  
Antiguo 21/04/2009, 20:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: onKeyPress()

La función se ejecuta tantas veces se presionen teclas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 21/04/2009, 20:36
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: onKeyPress()

Cita:
Iniciado por David el Grande Ver Mensaje
La función se ejecuta tantas veces se presionen teclas.
Vaya, así que si por ejemplo estoy rellenando un campo de "usuario" y quiero comprobar si ya existe en la base de datos, si como dices van "almacenandose en cola" cada una de las llamadas a la función haría muchas llamadas innecesarias a la BD, una por cada caracter del nombre que este escribiendo y además irían con un cierto "desfase" porque el usuario teclea más rápido de lo que una web tarda en hacer la petición a la BD y presentar una respuesta adecuada.

Pensé que habría alguna forma de detener la ejecución de una función si se vuelve a llamar esa misma.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
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 22:01.