PopUp, wenn Fenster geschlossen wird

Eiszwerg

Erfahrenes Mitglied
Abfangen, wenn Fenster geschlossen wird

Schönen guten Abend!

Ich stehe vor folgender Herausforderung:

Ich habe ein Fenster, in dem Daten in einem Formular geändert werden können.
Sollte nun ein User das Fenster schliessen, muss ein Skript ausgeführt werden.
Es sei denn, der User klickt auf den Speichern-Knopf des Formulars.

Ich bin nun soweit, dass ich das Fenster mit onUnload überwache, allerdings (und das ist das Problem) greift onUnload auch dann, wenn der User auf den Speichern-Knopf drückt.

Meine Frage:
Kann man das Schliessen des Fensters irgendwie anders abfangen?
Und wenn ja, wie?

Gruss Eiszwerg
 
Zuletzt bearbeitet:
Das schließen des Fensters kannst du meines wissens nicht anders als mit onUnload "überwachen". Setzt doch einfach beim Klick auf deinen "Speichern-Knopf" eine variable unb bau dann in den onUnlod ein if (!variable) vor der eigentlichen Anweisung ein. Ein wenig Erfindergeist!
 
Da habe ich auch schon dran gedacht.
Bin aber ein wenig damit überfordert die php-Var an das JS zu übergeben...
Werd's aber gleich nochmal versuchen.

Danke für den Anreiz :)
 
Siehe PM :-)
Vielleicht magst Du den Inhalt der PM hier nochmal für alle posten?!

Zitat von Eiszwerg
Ich habe den Speicher-Knopf ja als Variable.
Name: F_Button
Den kann ich ja, wie von Dir vorgeschlagen, als Prüf-Variable nehmen, oder?
Nur wie bekomme ich dafür einen Wert im JS?
Habe eben mal if (!<? echo $F_Button; ?>) { bla } versucht, aber das scheint nicht zu klappen.
Genauso wie if (!$F_Button) { bla }

Hiiiilfeeee

Am einfachsten ist es wenn du in den onClick vom Button sowas wie var clicked = true schreibst und dann in den onUnlod if (!clicked) ... Wie man veränderbare php-Variablen über JavaScript abfragt steht zwar auch irgentwo im Forum, aber das ist die einfachste Methode.
 
Hab nun

<input type="submit" name="F_Button" value="Änderungen Speichern" onClick="var clicked = true">

im Formular und

if (!clicked) window.open('saf...

in der Funktion, aber nun reagiert er gar nicht mehr :confused:
 
lol irgentwie lustig das Ganze, wir editieren und löschen da munter unsere Beiträge. Leider hab ich keine Zeit mehr, aber versuch's doch nochmal mit php: Das if (!<?php echo $F_Button; ?>) ist allerdings absoluter Murks, wenn dann muss es so lauten if ("<?php echo $F_Button; ?>" != "") $F_Button ist ja trotz allem keinen PHP-Variable und im Script steht sonst nur if(!ichBinderInhaltVon$F_Button) und die Variable ichBinderInhaltVon$F_Button ist in deinem Script nicht definiert.
 
Zuletzt bearbeitet:
Danke, dass Du mir Deine Zeit gewidmet hast.
Leider komme ich mit obigem Beispiel auch nicht weiter.

@ Alle Leser:
Wie lautet der richtige Code, um dem Button eine Variable zuzuweisen, die ich beim Reloaden der Seite mit JS abfragen kann?
Hatte ja 3 Posts weiter oben einen Versuch unternommen, der aber ins Leere läuft (Click bleibt false).

Bitte helft mir... meine Freundin drängelt schon *Freundinvorschieb* :-)
 
Wenn du das Formular per GET sendest, kannst du aus der aktuellen location ermitteln, ob der Button geklickt wurde(dort findet sich dann ja der Name des Buttons)
Code:
<script type="text/javascript">
<!--
if(String(window.location.search).match(/F_Button=/))alert('Button geklickt');
//-->
</script>

Variablen nützen dir da nichts, weil sie nach einem Reload nicht mehr verfügbar sind.
 

Neue Beiträge

Zurück