Foros del Web » Programando para Internet » Javascript »

onchange en textbox?

Estas en el tema de onchange en textbox? en el foro de Javascript en Foros del Web. hola amigos, tengo una pregunta, existe alguna forma de emular el onchange con javascript para un textbox html? se bien que un textbox segun la ...
  #1 (permalink)  
Antiguo 23/04/2009, 14:04
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 10 meses
Puntos: 3
onchange en textbox?

hola amigos, tengo una pregunta, existe alguna forma de emular el onchange con javascript para un textbox html?

se bien que un textbox segun la w3c tiene contemplado el evento onchange:
Código HTML:
<input type="text" name="campo1" value="" onchange="alert('escribiste algo');"> 
pero este onchange no funciona como se deseara, es decir genera el evento, llamando al alert, solo recien despues que dicho textbox pierde el foco

existe alguna forma de emular el onchange tal como deberia ser : generar el evento llamando a alguna rutina luego de que el value del textbox ha cambiado (en tiempo de ejecucion)

gracias, escucho sugerencias y opiniones...saludos
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #2 (permalink)  
Antiguo 23/04/2009, 14:50
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 6 meses
Puntos: 75
Respuesta: onchange en textbox?

el evento onChange no quiere decir que cada q cambia, por ejemplo

yo tengo una caja de texto con este valor =""

cuando me dedico a escribir esta generando el evento onkeypress, creo.

si es el onChange le voy escribiendo "h"-"o"-"l"-"a" y cuando salgo de el ahi es que cambia, por que pasa del estado "" al estado "hola"
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 23/04/2009, 22:23
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 4 meses
Puntos: 7
Respuesta: onchange en textbox?

Usá el otro evento como dicen Don Lobo, así vas a poder apreciar en tiempo real si cambia, no tenés que esperar a que pierda el foco.

¡Saludos!
  #4 (permalink)  
Antiguo 23/04/2009, 23:45
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: onchange en textbox?

El problema de onkeypress y parecidos, es que tienes que saber controlarlos, por ejemplo, onkeypress solo lanza caracteres imprimibles y es el recomendado para este tipo de cosas, sin embargo al llegar al tope "maxlength" el evento se seguira disparando, tu debes comparar entonces la longitud de lo escrito con lel valor de dicha propiedad, claro, esto solo es necesario si haces algo que realmente necesite el control preciso.

Otro problema que es mas común, es que cuando se dispara el keypress aun no se ha escrito nada en el input, y podria ser un problema, en este caso la solucion seria crear otro manejador de evento para onkeyup, pero aqui surje otro problema si solo deseamos manejar caracteres, debemos checar si la tecla pulsada es imprimible, ya que keyup se dispara con todas las teclas (flechas, shift, ctrol). Ademas de esto, onkeypress no se dispara cuando se presiona el backspace o suprimir, y conduce a mas problemas.

Como te digo, es posible que estos problemas no sean relevantes(como pasa en la mayoria de los casos), afortunadamente hay un evento que hace lo que buscas, dispararse a cualquier cambio (incluyendo si el usuario hace un paste en el input, cosa que ni onkeypress ni onchange lo detectarían al momento), respeta maxlenght y backspaces, vamos se lanza solo cuando hay un cambio, este evento se llama "input" pero solo es soportado por firefox y safari (al menos eso creo yo).

Puedes probarlo con elemento.addEventListener('input',funcion).

Saludos!
  #5 (permalink)  
Antiguo 24/04/2009, 10:31
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 4 meses
Puntos: 7
Respuesta: onchange en textbox?

Buen dato Jeybi.
  #6 (permalink)  
Antiguo 24/04/2009, 14:51
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: onchange en textbox?

Jeybi: ese evento type no existe ni siquiera para el firefox,
lobo: no quiero capturar el onkeypress() ni nada parecido, sino quiero alguna funcion javascript que emule al onchange que conocemos, es decir ejecute unas rutinas cada que cambia el value de un input (textbox) en tiempo de ejecucion, y no depues de que este pierda el foco (sigo repitiendo), tampoco me interesa tanto el onkeypress o algo parecido, ya que eso esta ligado al teclado,

espero alguna otra alternativa...
es acaso algo imposible???
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #7 (permalink)  
Antiguo 24/04/2009, 15:12
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: onchange en textbox?

https://developer.mozilla.org/index....cci%C3%B3n

Cita:
Manejo de cambios de texto

Hay dos eventos que pueden ser utilizados cuando el usuario cambia el valor de una caja de texto. Naturalmente, estos eventos sólo serán enviados a la caja de texto que tiene el foco.

* El evento input es disparado siempre que el texto del campo es modificado. El valor nuevo será diferente del viejo. Puedes querer utilizar este evento en lugar de usar eventos de tecla, ya que algunas teclas como Mayúsculas no cambian el valor. Además, el evento input no se disparará si se pulsa una tecla de letra cuando ya no caben más letras en la caja de texto.
* El evento change es similar en que se dispara sólo cuando el campo cambia. Sin embargo sólo se dispara una vez la caja de texto pierde el foco, es decir, una vez por cada conjunto de cambios.
  #8 (permalink)  
Antiguo 25/04/2009, 16:31
Avatar de ilydiego  
Fecha de Ingreso: febrero-2009
Ubicación: en mi Casa
Mensajes: 71
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: onchange en textbox?

gabriel flores dime de donde sacaste tu imagen tipo los simpsoms dime siii si orale siiiiiiiiiiiiiiiiiiiii yo kero una
  #9 (permalink)  
Antiguo 27/04/2009, 17:14
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: onchange en textbox?

querida ilydiego, con gusto te pasare el link de la pagina donde cree mi imagen tipo simpsons (como dices), enviame un mail a [email protected]

pdta.:aunque ese no era el asunto de este tema!
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #10 (permalink)  
Antiguo 01/06/2009, 15:32
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: onchange en textbox?

estimado jeybi, te agradezco tu aporte, pero parece q no existe ese evento "type" del q hablas, la pagina q das de referencia es muy pobre, tu probaste ese evento q dices??? puedes postear tu codigo de ejemplo aplicando ese evento "type"

gracias, saludos, sigo escuchando sus aportes e ideas
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
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 16:33.