Hi,
das zweite hidden-Feld mit dem alten Inhalt brauchst du nicht. JavaScript kann auch so ursprünglichen Inhalt (.defaultValue) und aktuellen Inhalt (.value) unterscheiden.
function isFormChanged (form) {
for (element = 0; element < document.getElementsByTagName('input').length; element++) with (document.getElementsByTagName('input')[element]) if (value != defaultValue) return true;
return false;
}
Diese kleine Funktion checkt alle INPUT-Felder auf Veränderung. (Achtung: funktioniert nur ab N6/IE5/Opera5.) Du solltest dann die Buttons mit dem BUTTON-Befehl machen.
Bau das ganze dann am besten in den body.unload ein ...
<body onunload="if (isFormChanged(document.forms[0])) if (confirm('Änderungen speichern?')) with (document.forms[0]) {target = 'dummy'; submit();};">
Als TARGET lege ich einen unsichbaren dritten Frame "dummy" fest, da das aktuelle Fenster ja gleich aktualisiert wird und das Speichern oft fehl schlägt.
Alles klar?
m.