timmy: Pop Up schliessen

Hallo zusammen,

ich habe ein html Formular das eine Datei hochlädt. Man kann hier verschiedene Angaben machen, unter anderem auch einen Dateipfad. Wenn man nun auf "Start" klickt wird die Datei hochgeladen. Gleichzeitig öffnet sich ein Popup mit folgendem Quelltext:
********************************************************
<html>
<title>Das File wird hochgeladen</title>
<body>
<center>
<font color="#FF0000" face="Arial" size="3"><b>Das File wird hochgeladen</b></font>
<br><br>
<img src="pics\balken.gif" border="0" width="240" height="24"><br>
<br>
<font color="#FF0000" face="Arial" size="3">Bitte warten...</font>
</center>
</body>
</html>
***************************************************
Wenn das Formular die Datei hochgeladen hat muss es das Popup wieder schliessen. Eine Schleife, mit der ich überprüfe ob die Datei auf dem server existiert geht wohl auch nicht, hab ich mir sagen lassen da JS ja Clientseitig ist.

Das Formular müsste irgendwie das Popup beim reload schliessen. Wie ist sowas realisierbar? hat jemand eine Idee?
Ich muss von vornerein sagen, dass ich wenig bis keine Ahnung von JS habe, darum eventuelle Antworten für Anfäger verständlich :(

Vielen Dank schon im voraus

  1. Hell-O!

    Siehe https://forum.selfhtml.org/?t=135513&m=879675 ff.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Kabelkuddelmuddel || Steuerfreie Geburtsbeihilfen?  || RT 221 Erfurt-Altstadt i.V.
    1. Hell-O!

      Siehe https://forum.selfhtml.org/?t=135513&m=879675 ff.

      Siechfred

      Vielen Dank für die Antwort. Nur leider verstehe ich da nur bahnhof!

      Jemand sagt es geht nicht, einer sagt es geht, einer sagt es geht so und ein anderer meint es ginge so...sehr verwirrend!

      IRgendwie ist mir daraus nicht ganz ersichtlich, ob ich mit JScript ein pop up von der "mutter HTML" Seite aus Schliessen kann. Aufmachen hab ich geschaft. Schliessen muss es sich, wenn sich das fenster neu lädt. Das kann auch jedes Mal sein bei einem reload.

      gruss

    2. Hell-O!

      ich dachte immer daß alle popups/fenster über die beim erstellen vergeben namen angesprochen werden können??

      Ja, aber nur durch die öffnende HTML-Seite.

      Siechfred

      genau sowas suche ich...

      1. hi,

        ich dachte immer daß alle popups/fenster über die beim erstellen vergeben namen angesprochen werden können??

        Ja, aber nur durch die öffnende HTML-Seite.

        genau sowas suche ich...

        Was - wie man das Popup vom öffnenden Dokument aus wieder schließt?

        close-Methode auf die Fensterreferenz anwenden, die window.open zurückgegeben hat.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Was - wie man das Popup vom öffnenden Dokument aus wieder schließt?

          close-Methode auf die Fensterreferenz anwenden, die window.open zurückgegeben hat.

          gruß,
          wahsaga

          ****************************
          ich habe jetzt folgende zwei java scripts:

          function check() {
            window1=window.open('check.asp', "fenster", "width=500,height=75,left=620,top=475, status=no, toolbar=no, menubar=no, hotkeys=yes, scrollbars=no")
            window1=focus();
          }

          function close() {
            window1.close();
          }
          ****************************

          öffnen geht wie gesagt mit folgendem befehl (sobald man auf den button klickt):
          onsubmit="return check();"

          Aber schliessen geht irgendwie nicht, ich habe hier folgendes:
          <body onload="close()">
          <body onunload="close()">

          beide scheinen nicht zu funktonieren...was übersehe ich oder mach ich falsch?

          1. hi,

            function check() {
              window1=window.open(...)

            window1 ist eine lokale Variable, nur innerhalb dieser Funktion verfügbar.

            function close() {
              window1.close();

            Diese Funktion kennt kein window1.

            Anders wäre das, wenn du eine globale Variable nutzen würdest.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. folgende script hab ich jetzt:
              ****************************
              var window1

              function check() {
                window1=window.open('check.asp', "fenster", "width=500,height=75,left=620,top=475, status=no, toolbar=no, menubar=no, hotkeys=yes, scrollbars=no")
                window1=focus();
              }
              function schliessen() {
                window1.close();
              }
              ****************************

              trotz globaler variable scheint es nicht zu funktionieren. ich vermute ich mache noch etwas mit onload() oder onunload() falsch.

              funktioniert onunload="schliessen()" bei einem Formular? Das Formular führt ja zuerst die actions aus bevor es zu der angegebenen URL springt.
              In meinem Fall muss es:

              popup öffnen (funktioniert), datei hochladen, popup schliessen+url laden

              1. hi,

                ich vermute ich mache noch etwas mit onload() oder onunload() falsch.

                Ich vermute, du solltest erst mal die explizite Rückfrage eindeutig beantworten.

                Bedenke dabei bitte, dass du dich nicht mehr im "öffnenden Dokument" befindest, wenn du in das betreffende Fenster zwischenzeitlich eine neue Ressource hineingeladen hast.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Ich vermute, du solltest erst mal die explizite Rückfrage eindeutig beantworten.

                  zu deiner Frage: Ja, das "Mutterdokument", welches das popup ausgelöst hat, sollte das pop up wieder schliessen. und zwar nachdem sich die seite selber wieder lädt (abschicken des formulars)

                  Entschuldigung dass ich nicht gleich auf die frage eingegangen bin...

                  1. Hi,

                    zu deiner Frage: Ja, das "Mutterdokument", welches das popup ausgelöst hat, sollte das pop up wieder schliessen. und zwar nachdem sich die seite selber wieder lädt (abschicken des formulars)

                    na ja, aber NACHDEM die Seite neu geladen wurde ist die Variable window1 nicht mehr auf das Popup gerichtet. Das war das Problem worum es in dem älteren Thread auch ging. Du kommt da auch nicht mehr dran. Du musst es entweder schließen bevor du die Seite neu lädst oder den Mechanismus umdrehen.

                    MfG
                    Rouven

                    --
                    -------------------
                    Inter Arma Enim Silent Leges  --  Cicero
                  2. hi,

                    Ja, das "Mutterdokument", welches das popup ausgelöst hat, sollte das pop up wieder schliessen. und zwar nachdem sich die seite selber wieder lädt (abschicken des formulars)

                    Also ist das öffnende Dokument gar nicht mehr existent - es wurde ja durch das neue ersetzt.
                    Also ist auch deine Fensterreferenz verschwunden.

                    Öffne das Popup unter dem gleichen Fensternamen erneut, und schließe es dann.

                    gruß,
                    wahsaga

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                    1. super, vielen dank, so funktioniert das ganze!

                      das problem war das window1.focus()

          2. Hallo,

            function check() {
              window1=window.open('check.asp', "fenster", "width=500,height=75,left=620,top=475, status=no, toolbar=no, menubar=no, hotkeys=yes, scrollbars=no")
              window1=focus();

            Was ist das ^ hier?
            Ein Schreibfehler, oder eher ein Verständnisfehler?
            Ich weiß nicht, ob focus() überhaupt einen definierten Rückgabewert hat, aber selbst wenn dein 'window1' global wäre, würdest du damit die Referenz auf das neue window-Objekt (Popup) wieder überschreiben.

            function close() {
              window1.close();
            }

            Eine eigene Funktion genauso zu nennen wie eine bereits existierende Methode, ist heikel. Hier würdest du beispielsweise die close-Funktion des aktuellen window-Objekts überschreiben, was eventuell sogar raffiniert sein könnte. Aber wie gesagt: Es ist eine böse, weil schwer zu findende Fehlerquelle.

            So long,
             Martin

            --
            Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.
            1. function close() {
                window1.close();
              }

              Eine eigene Funktion genauso zu nennen wie eine bereits existierende Methode, ist heikel. Hier würdest du beispielsweise die close-Funktion des aktuellen window-Objekts überschreiben, was eventuell sogar raffiniert sein könnte. Aber wie gesagt: Es ist eine böse, weil schwer zu findende Fehlerquelle.

              So long,
              Martin

              Hallo Martin

              ich sehe hier im Code kein ^, ich habe die close() funktion umbenennt, es funktioniert aber trotzdem nicht.

              vielen dank trotzdem

              1. Hi nochmal,

                ich sehe hier im Code kein ^, ...

                ich auch nicht, du hast den Wink mit dem Zaunpfahl offentsichtlich nicht bemerkt.
                Moment, ich versuch's nochmal, muss nur erst den Telegraphenmast stemmen.

                window1=focus();

                ^
                               |

                Was ist     +--- das hier?

                Siehst du's jetzt?

                So long,
                 Martin

                --
                Man sollte immer wissen was man sagt
                 - aber auf keinen Fall alles sagen, was man weiß.
                1. Moment, ich versuch's nochmal, muss nur erst den Telegraphenmast stemmen.

                  window1=focus();
                                 ^
                                 |
                  Was ist     +--- das hier?

                  Siehst du's jetzt?

                  So long,
                  Martin

                  ahh, du hast die zeile gemeint, ich bin manchmal ein bisschen schwer von begriff...*schäm*

                  ohne das window1=focus() funktioniert es, wie schon geschrieben. vielen Dank.

                  gruss timmy