Foros del Web » Programando para Internet » Javascript »

Detectar cambio de valor en un input

Estas en el tema de Detectar cambio de valor en un input en el foro de Javascript en Foros del Web. Hola, que tal. Me gustaría saber de que manera puedo detectar si el valor de un campo ha cambiado. El problema lo tengo cuando sobreescribo ...
  #1 (permalink)  
Antiguo 31/03/2005, 07:45
 
Fecha de Ingreso: julio-2001
Ubicación: Barcelona
Mensajes: 922
Antigüedad: 22 años, 10 meses
Puntos: 1
Detectar cambio de valor en un input

Hola, que tal.

Me gustaría saber de que manera puedo detectar si el valor de un campo ha cambiado. El problema lo tengo cuando sobreescribo el value del input con javascript. Pongo un ejemplo de lo que comento:

<input id="test" onchange="alert(this.value)"/>

<script>
document.getElementById("test").value="new value"
</script>

Aquí se ve como el alert no lo hace.

Alguna idea de como conseguir que lo detecte?

Gracias
  #2 (permalink)  
Antiguo 31/03/2005, 09:03
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Manualmente? [codigo un poco xungo]

Código PHP:
<input id="test" />

<
script>

var 
valueAnterior=document.getElementById("test").value;
function 
haCambiado() {
    if(
document.getElementById("test").value!=valueAnterior) {
        
valueAnterior=document.getElementById("test").value;
        return 
true;
    }
    else 
        return 
false;
}

// comprobando todo el rato
setInterval( function() {
    if( 
haCambiado() )
        
alert("Ha cambiado!");
}, 
100);

//lo cambiamos cuando keremos
setTimeout('document.getElementById("test").value="nuevo valor"',3000);

document.getElementById("test").value="new value";


</script> 
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 10:06.