Podrias usar el evento onchange en el propio <form> pero creo que no
te va a funcionar en IE.

Se me ocurre asi, a lo loco, que si no necesitas saber que campo es el
que ha cambiado, podrias coger el trozo del DOM que hay por debajo del
form al cargar la pagina, que seria un objeto con muchas propiedades,
entre ellas el value inicial de cada elemento, y convertirlo en una
cadena. Cuando se lance el evento unload (u otro cualquiera) pues
vuelves ha crear de nuevo otra cadena a partir del DOM del form y
comparas ambas cadenas si no son identicas, algo ha cambiado.
Claramente, tiene de malo que si haces cualquier cambio en algun
elemento del form con JS, con este metodo no podrias distinguir si ha
cambiado el valor de algun campo o es alguna otra propiedad.
Es poco robusto, pero seguramente rapido de implementar.

Si quieres hacerlo mejor, tendrias que recorrer cada elemento al
cargar la pagina y guardar un array de valores iniciales, y hacer lo
mismo al final y comparar ambos arrays.

Otra alternativa es tener un flag y en caso de ejecutarse el onchange
de cualquier elemento cambiar el flag y listo. Tiene lo malo de que si
el user hace un cambio y luego lo desahace tu script seguira pensando
que el form ha cambiado.

Saludos,
Jose!


>> Hay alguna manera rapida de saber si se ha hecho algun cambio en algun campo
>> de un formulario si tener que comprobar campo a campo si su valor ha
>> cambiado?
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a