Foros del Web » Programando para Internet » Javascript »

Evento onchange

Estas en el tema de Evento onchange en el foro de Javascript en Foros del Web. Hola, el evento onchange, cuando yo escriba algo en un campo de texto deberia de saltar no?? Código HTML: <form> <input type= "text" onchange= "cambiar()" ...
  #1 (permalink)  
Antiguo 03/02/2007, 05:22
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Evento onchange

Hola, el evento onchange, cuando yo escriba algo en un campo de texto deberia de saltar no??

Código HTML:
<form>
			<input type="text" onchange="cambiar()"/>
			<input type="text"/>
</form> 
Código PHP:
<script language="JavaScript" type="text/javascript">
<!--
function 
cambiar(){
alert("Hola");
}
//-->
</script> 
Solo salta al cambiar de INPUT, deberia de saltar tambien cuando se modifica el contenido de la caja de texto no?

Saludos.
  #2 (permalink)  
Antiguo 03/02/2007, 05:29
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Evento onchange

Buenas

pues no, si no estaría disparándose a cada tecla. Verifica si hay cambio una vez considera que se ha terminado con el campo. Entonces si hay cambios con respecto a cómo estaba se dispara el evento.

Un saludo
  #3 (permalink)  
Antiguo 03/02/2007, 05:45
Avatar de ventanazul  
Fecha de Ingreso: noviembre-2002
Ubicación: Lima, Peru
Mensajes: 246
Antigüedad: 21 años, 5 meses
Puntos: 2
Re: Evento onchange

onchange es más usado en elementos select. Si lo que quieres es tener control en cada golpe de tecla, como cuando se hace un live preview de comentarios en un blog, usa onkeyup.

Un detalle importante, no uses manejadores de evento inline, es más flexible hacer algo como:

Código:
el.onchage = cambiar;
Saludos.
__________________
Alexis Bellido
  #4 (permalink)  
Antiguo 03/02/2007, 08:38
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Re: Evento onchange

ventanazul , como se asigna el evento de esa manera?
  #5 (permalink)  
Antiguo 03/02/2007, 08:43
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Re: Evento onchange

yo lo he hecho asi: y parece que funciona:

Código PHP:
<script language="JavaScript" type="text/javascript">
<!--
function 
prueba(){
alert(document.form.text.value);
}
function 
inicio(){
var 
document.getElementById("text");
a.onblur prueba;
}
//-->
</script> 
es correcta? o hay alguna manera mejor??
  #6 (permalink)  
Antiguo 03/02/2007, 09:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Evento onchange

Hola:

Sobre onchange en textos... lo correcto sería que se activase con las modificaciones... y en algunos navegadores funciona, pero no en todos... y por esa razón hay que hacer "piruetas"...

tunait: Lo que comentas estaría contemplado con onblur (¡tal vez!)

La verdad es que las teclas se detectan con onkeyXXX y los eventos del teclado con onmouseXXX... pero los cambios deben controlarse (aunque no esté bien implementado en algunos navegadores) con onchange, al igual que los focos se controlen con onblur/onfocus...

Dicho esto, lo mejor es (en mi humilde opinión) complementar onchange con onblur, o con onkeyup...

¿Hay más opiniones...?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 03/02/2007, 09:21
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Evento onchange

Cita:
Iniciado por caricatos Ver Mensaje
tunait: Lo que comentas estaría contemplado con onblur (¡tal vez!)
No, mi estimado Pepe. onblur dispararía siempre el evento aunque le valor del campo no hubiera cambiado.

onchange espera a terminar la acción para entrar en escena, al igual que en un selector que no se activa hasta haber terminado la selección. En un campo de tipo texto espera a que se termine con él y ese momento es cuando se abandona el campo, como el onblur

un saludo
  #8 (permalink)  
Antiguo 03/02/2007, 12:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Evento onchange

Cita:
Iniciado por tunait Ver Mensaje
No, mi estimado Pepe. onblur dispararía siempre el evento aunque le valor del campo no hubiera cambiado.

un saludo
¡Sip...! Lo que he notado es que opera hace saltar el evento aunque se escriba lo mismo que había... (al menos en mis pruebas...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 00:38.