Per Formular (POST) WindowOpen ausführen ?

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

  • Per Formular (POST) WindowOpen ausführen ?

    Hallo, habe mal wieder ein Problem.....


    Ich habe ein Formular welches nach dem Ausfüllen ein neues Browser-Fenster öffnet und dorthin die daten überträgt (PER POST-Methode).

    Klappt nun alles wunderbar, jedoch will ich das Fenster nach eigenen Vorstellungen 'Dimensionieren' und ohne die Tool-Bar haben.

    Das widerrum habe ich schon vorher bei anderen Fenster schon gemacht und zwar per JavaScript-Methode WindowOpen(link,....);

    Wie mache ich das aber jetzt wenn ich dieses Fenster per POST öffnen will aber mit den gleichen Eigenschaften ?

    Wie könnte ich das machen das ich per PHP (also Serverseitig) das gleiche Ergebnis bekomme ? (Falls das überhaupt geht)

  • #2
    ich bin mir zwar nicht sicher, ob das klappt, aber ich würde versuchen das onsubmit-event der form abzufangen und mit dem attribut "target" die form an ein mit js frisch erstelltes fenster zu leiten.

    Kommentar


    • #3
      @penizillin: ganz genau so geht's.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Heisst das ich muss zuerst dieses neue Fenster per window.open öffnen und dessen namen (irgendwas.php) als target der Form verwenden ?

        Ok, ich probier das dann mal aus.
        Wollte hiermit nur noch mal sicherstellen das ich es richtig verstanden habe.

        Kommentar


        • #5
          Aber, was kommt in target rein ? Die id des geöffneten Fensters ?
          Weil der Pfad kann es ja nicht sein und der titel auch nicht......


          PHP-Code:
          <form
              onsubmit
          ="window.open("files/fileupload.php", 'upload', 
          'left=262,top=100,width=500,height=300')"
              
          enctype="multipart/form-data" action="files/fileupload.php" 
          target="WasKommtHierRein?" method="post"
          Zuletzt geändert von Master0Blicker; 17.08.2005, 13:02.

          Kommentar


          • #6
            Der titel sollte es sein...

            Kommentar


            • #7
              Also, das habe ich dann so gemacht und es gehlt leider nicht:

              PHP-Code:
              <form
                  onsubmit
              ="window.open("files/fileupload.php", 'upload', 
              'left=100,top=100,width=262,height=500')"
                  
              enctype="multipart/form-data" action="files/fileupload.php" 
              target="upload" method="post">
              .
              .

              Kommentar


              • #8
                Sorry, ich habs!

                Es war einfach das '..' anstatt "..", also einfache anführungszeichen in der Pfadangabe des Window.open()!

                Sorry!

                Kommentar


                • #9
                  Gibts auch eine Möglichkeit das Fenster automatisch (eventuell mit kleiner verzögerung) zu schliessen NACHDEM die Dateien übertragen worden sind ?

                  Ich habe zwar eine Lösung gefunden die Zeitversetzt self.close() ausführt, aber ich denke das passiert unabhängig davon ob die Daten nun übertragen worden sind oder nicht!

                  Beispiel:

                  Bilder hochladen->neues Fenster wird geöffnet mit Script das die Daten empfangen und speichern soll->Ausgabe abhängig von Bilddaten ok/nicht ok (bis hierhin hab ich es)->Fenster schliesst sich DANACH von alleine wieder (das bräucht ich nun)

                  Kommentar


                  • #10
                    warum lässt du das ziel nicht einen close-befehl zurückgeben?
                    Kissolino.com

                    Kommentar


                    • #11
                      Original geschrieben von Master0Blicker
                      Es war einfach das '..' anstatt "..", also einfache anführungszeichen in der Pfadangabe des Window.open()!
                      das ist quark.
                      dadurch ruft erst dein window.open das script per GET auf, und dein formular kurze zeit später noch mal per POST - unfug.

                      nutze "about:blank" als ersten parameter von window.open.

                      Gibts auch eine Möglichkeit das Fenster automatisch (eventuell mit kleiner verzögerung) zu schliessen NACHDEM die Dateien übertragen worden sind ?
                      in der antwortseite, die dein vom formular angesteuertes script zurückliefert, kannst du versuchen das fenster zu schließen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        für verzögerungen schau dir mal setTimeout() an

                        Kommentar


                        • #13
                          @wahsaga

                          Dein Vorschlag klappt auch!

                          Wieso ruft die vorangegangene Lösung mein Formular per GET auf wenn ich im ersten Parameter von window.open() die URL angebe ?

                          @all

                          Ich dachte mir ich setzte einfach eine Zeitverzögerung am ENDE des Scripts welches die daten empfängt und lasse die Seite dann schliessen!

                          PHP-Code:
                          <script type="text/javascript">

                              
                          self.setTimeout(self.close(),1500);

                          </
                          script
                          Diese Seite zeigt mir auch erst etwas an nachdem die Daten übertragen worden sind. Also kann ich es ja getrost so machen mit der gewissheit das der Fileupload vorbei ist (unabhängig ob alles korrekt ist oder nicht -> entsprechende Ausgabe), oder ?

                          Nur das bei diesem angegebenen JS-Script das setTimeout anscheinend nicht funktioniert da er mir gleich die Seite schliesst ohne 1 1/2 Sekunden zu warten!

                          Macht das .SetTimeout die Zeitverzögerung etwa erst nachdem er was ausgeführt hat ?

                          Kommentar


                          • #14
                            Original geschrieben von Master0Blicker
                            Wieso ruft die vorangegangene Lösung mein Formular per GET auf wenn ich im ersten Parameter von window.open() die URL angebe ?
                            weil genau das der sinn von window.open ist ...?

                            window.open sagt, öffne mir die angegebene URL in einem neuen fenster - ergo: GET-request an den server.
                            kurz darauf kommt jetzt dein formular, welches duch sein abschicken einen POST-request auslöst, dessen ergebnis durch das target im selben fenster landen soll.
                            also: zwei requests, von denen der erste absolut überflüssig ist.

                            Nur das bei diesem angegebenen JS-Script das setTimeout anscheinend nicht funktioniert da er mir gleich die Seite schliesst ohne 1 1/2 Sekunden zu warten!

                            Macht das .SetTimeout die Zeitverzögerung etwa erst nachdem er was ausgeführt hat ?
                            jetzt machst du deinem nickname aber mehr ehre, als nötig wäre ...

                            du gehst jetzt bitte mal ganz fix zu selfhtml, und schaust dir da im beispiel zu window.setTimeout an, wie der erste parameter dieser methode auszusehen hat!
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              @wahsaga

                              Hah, eine kleinigkeit......das sich Javascript so anstellt ?

                              Hehehe, danke dir!
                              Habe 'gedacht' da es um eine JS-Methode handelt müsste ich keine Anführungszeichen benutzen im Gegensatz zu erstellten Funktionen.....wie ich darauf komme weis ich auch nicht........Master0blicker eben.....



                              Nun ein letztes:
                              (Mach ich das falsch wenn ich hier frage oder soll ein neuer Thread her ?)

                              Wie bekomme ich das hin das an der Stelle an der window.open() ausgeführt wird zuerst ein GIF geladen wird und anschliessend dieses durch eine andere Ausgabe 'ersetzt' wird ?

                              Also:

                              Fenster wird geöffnet->Bild angezeigt->Daten werden geladen->Bild verschwindet & Ausgabe->Schlissen ?

                              Kommentar

                              Lädt...
                              X