Hallo,
Ich bin auf den window event onbeforeunload aufmerksam geworden - der nachteil ist jedoch dass man die standardmäßige meldung zwar erweitern jedoch nicht komplett ändern kann - d.h. der standardtext ist immer der gleiche.
Wo ist dabei das Problem?
also bin ich nun soweit gegangen dass ein js script prüft ob änderungen an der form gemacht wurden, falls ja wird für jeden Link ein Event erstellt was feuert wenn der link geklickt wird.
Am einfachsten wäre es, wenn man den click-Event zentral in der Capturing-Phase behandeln und gegebenenfalls stoppen könnte, aber das funktioniert nicht browserübergreifend.
In der funktion die dann aufgerufen wird erstelle ich meinen eigenen Dialog.
Was meinst du mit eigenem Dialog? Du blendest ein Element mit Buttons ein oder nutzt du window.prompt()?
Nun möchte ich das gestoppte event aber wieder aufnehmen wenn der User in meinem Dialog "änderungen nicht speichern" anklickt.
Na das geht nicht, wenn du nicht mit window.prompt, sondern mit einem eigenen Dialog arbeitest. Aber du kannst selbstverständlich die URI des Links, der angeklickt wurde, auslesen (in Prototype: eventobjekt.element()), zwischenspeichern und beim Klicken des entsprechenden Buttons location.href mit dieser URI füttern.
Mathias