Aufruf von onUnload verhindern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Aufruf von onUnload verhindern

    Hallo zusammen

    Ich hab da ein Problem, das mich einwenig zum Wahnsinn treibt....

    Aus einer normalen Windows-Applikation wird ein Webformular aufgerufen, über welches Daten eingelesen werden können (bei uns Bestellungen und Inventuren). Da nun aber der Server nach dem Aufruf dieses Formular automatisch in eine Wartestellung geht muss ich sicherstellen, dass das Browserfenster nicht einfach weggeklickt wird, ohne das ich es mitbekomme.

    Das bewerkstellige ich durch die Funktion onUnload, was eigentlich auch gut funktioniert. Nur wird onUnload auch dann aufgerufen, wenn das Formular regulär abgesendet wird. Wie kann ich das unterbinden, dass diese Funktion bei Submit doch auch ausgeführt wird?

    Der Code, also der HTML-Code für das Formular wie auch der PHP-Code zur Verarbeitung der Formulardaten befinden sich im gleichen File.

    Die Funktion onUnload habe ich im Body-Tag eingefügt.


    Danke für eure Hilfe.

    Gruss
    Philipp

  • #2
    PHP-Code:
    echo '<body';
    if (!
    $blubb) echo 'onunload=...';
    echo 
    '>'
    meinst du so was?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Ich vermute schon das wir dasselbe meinen, aber kommt jetzt draufan, was du wann in $blubb reinschreiben willst.....

      An diesem Punkt kann ich dir nicht so recht folgen.

      Nachtrag:
      Ich vermute das folgendes passiert:
      Nach Submit werden zuerst die Formulardaten übergeben und dann verlässt das Script von der Logik her die Seite, auch wenn sie sich ja wieder selbst aufruft. Und genau an diesem Punkt wird dann noch onUnload ausgeführt. Ich kann mir jetzt nicht so recht vorstellen wie ich das mit PHP kontrollieren kann.
      Zuletzt geändert von philippCH; 15.05.2006, 17:43.

      Kommentar


      • #4
        Original geschrieben von philippCH
        Ich kann mir jetzt nicht so recht vorstellen wie ich das mit PHP kontrollieren kann.
        gar nicht

        setz bei onsubmit eine Javascript-Variable, die du im onunload abfragst um dann ggf. die Ausführung abzubrechen

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          ups... peinlich peinlich....

          hab die eigentlich richtige antwort für dem nevermind grad unter die nase gerieben...

          Aber danke für den Hinweis....

          Kommentar


          • #6
            Sorry, aber ich kriegs nicht auf die Reihe....

            Das onOnload wird einfach aufgerufen, bevor ich eine ensprechende Variable zur Steuerung setzen kann...

            Hab jetzt folgenden Code:
            PHP-Code:
            .......
            function formsend () {
                    var formsend;
                    formsend = 1;
                    // Debug
                    alert(formsend);
                }
                
                function abbruch () {
                    if(formsend != 1) {
                        self.location.href='/tricoder/INV101.php?stop=1&BHNR=<? echo $_GET["BHNR"]; ......';
                    }
                }
                
                history.go(1);
                </script>
                
                <body onLoad="window.resizeTo(550,500);" onUnload="abbruch();">
                    <form name="INV101" action="/tricoder/INV101.php" method="POST" onSubmit="return formsend();">
            .....
            Die Funktion "abbruch()" wird einfach ausgeführt, bevor ich der Returnwert von "formsend()" vorhanden ist. Ich hab die <form....> -Tag auch schon vor den <body....>-Tag gestellt. Hat auch nichts gebracht.

            Langsam verzweifle ich daran....

            Kommentar


            • #7
              Original geschrieben von philippCH
              Hab jetzt folgenden Code:
              PHP-Code:
              .......
              function 
              formsend () {
                      var 
              formsend
              http://de.selfhtml.org/javascript/sp...htm#definieren
              Es gibt globale Variablen und lokale Variablen. Eine lokale Variable erhalten Sie durch die Deklaration der Variablen mit var innerhalb einer Funktion.
              Na, kennt abbruch() jetzt eine Variable namens formsend ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Heureka.... es läuft

                Vielen Dank für die Hilfe.


                Gruss
                Philipp

                Kommentar

                Lädt...
                X