Bei onUnload den Unload verhindern - wie?

Hallo,

bei Formularen gibt es ja das Event „onSubmit“, das man mit einer JS-Funktion verknippern kann. Wenn diese dann false zurückgibt, wird das Absenden des Formulars gestoppt, und nichts passiert.

Geht das irgendwie auch bei HTML-Seiten mittels „onUnload“ oderso?

Hintergrund: Ich habe ein Formular auf einer Seite. Sollte der Anwender nun versehentlich einen anderen Link drücken oder das Formular verlassen, ohne es abgeschickt zu haben, sind ja im schlimmsten Fall alle eingegebenen Daten wech. Zwar könnte ich ihn bei „onUpload“ fragen, ob er die Daten wirklich verwerfen will, aber unabhängig von der Antwort würde die Seite gewechselt werden. Läßt sich das irgendwie unterbinden?

Danke,
Kristian

Hallo,

bei Formularen gibt es ja das Event „onSubmit“, das man mit
einer JS-Funktion verknippern kann. Wenn diese dann
false zurückgibt, wird das Absenden des Formulars
gestoppt, und nichts passiert.

Geht das irgendwie auch bei HTML-Seiten mittels „onUnload“
oderso?

Hintergrund: Ich habe ein Formular auf einer Seite. Sollte der
Anwender nun versehentlich einen anderen Link drücken oder das
Formular verlassen, ohne es abgeschickt zu haben, sind ja im
schlimmsten Fall alle eingegebenen Daten wech. Zwar könnte ich
ihn bei „onUpload“ fragen, ob er die Daten wirklich verwerfen
will, aber unabhängig von der Antwort würde die Seite
gewechselt werden. Läßt sich das irgendwie unterbinden?

nop, die Unlogik wird klar, wenn man sich ueberlegt, dass onUnload erst durch den Unload aufgerufen wird.
Also kein onUnload ohne Unload :smile:

Aber schau Dir doch mal http://selfhtml.teamone.de/javascript/objekte/window… an, vielleicht hilft Dir der Ansatz ja weiter.

Greetinx
Christian
http://www.html-workshop.de

nop, die Unlogik wird klar, wenn man sich ueberlegt, dass
onUnload erst durch den Unload aufgerufen wird.
Also kein onUnload ohne Unload :smile:

Du hast bedingt recht. Recht hast Du dann, wenn man es wirklich genau nimmt. Das kann man bei den JS/HTML-Sachen aber offenbar nur teilweise. Beispiel: Das onChange-Ereignis eins Formular-Textfeldes (textarea) kann man voll vergessen. Das funktioniert nämlich nicht so, wie man es aus anderen Umgebungen kennt (VB z.B.). Will sagen: Manche Events sind etwas sonderbar definiert, und warum sollte onUnload nicht dazugehören?

Aber schau Dir doch mal
http://selfhtml.teamone.de/javascript/objekte/window…
an, vielleicht hilft Dir der Ansatz ja weiter.

Ich glaube nicht, weil ich auch damit nicht den Augenblick vor dem Seitenwechsel abgreifen kann.

Aber ich hab´ was gefunden! Zufällig natürlich. Im Hintergrund hatte ich noch eine interne Web-Applikation offen, und das Fenster wollte ich nutzen, um Deinem Hinweis auf SELFHTML zu folgen. Und was passiert? Der Browser fragt mich, ob ich die Seite wirklich verlassen will! Zufälle gibt´s … Na ich habe mir gleich den Code angeguckt und bin auf onbeforeunload gestoßen. Und der Google hat mir daraufhin noch die folgenden Links gefunden:

http://selfforum.teamone.de/archiv/2002/8/18970/
und
http://selfforum.teamone.de/archiv/2002/7/15884/

Sind beide ganz witzig - wie immer, wenn sich Leute aufblasen, die keine Ahnung haben :wink:)

Jedenfalls funktioniert das Teil, auch wenn es offenbar eine spezielle IE-Lösung (und damit eigentlich von Natur aus eine dreckige Lösung ;-> ) ist.

Greetinx
Christian
http://www.html-workshop.de

Kannst´e ja in Deinen Workshop mit aufnehmen. Auf der folgenden Seite gibt´s noch jede Menge weitere feine Event-Handler.

http://msdn.microsoft.com/library/default.asp?url=/w…

Kristian