David: Formulardaten mit POST an Popup-Fenster senden

Hallo schlaue Menschen,

würde mich SEHR freuen, wenn Ihr mir bei folgendem Problem weiterhelfen könntet, sonst müsste ich einen Untersuchungsausschuss zu diesem Thema in Leben rufen. Und Ihr wisst ja, wie schwer das ist:

Ich schicke die in einem html-Formular eingegebenen Daten bisher an eine Seite, auf der ein php-Skript daraus mittels JPGraph-Funktionen eine Grafik erstellt. Jetzt möchte ich aber, dass die Grafik nicht im gleichen Fenster wie das Formular erscheint, sondern beim Klick auf den "Grafik erstellen"-Button soll sich ein Popup öffnen und das php-Skript soll darin ablaufen und die Grafik erstellen. Dafür müssen aber die Formulardaten bei Kopfdruck an dieses Popup gesendet werden. Da es einigermaßen viele sind, möchte ich POST verwenden.

Fällt Euch was ein? Wäre toll! Vielen Dank.

Hier die wichtigen Zeilen Quellcode:

<form action="statistic_stroke.php" method="POST">
...
<input type="submit" value="Grafik erstellen">
</form>

  1. Hallo David,

    würde mich SEHR freuen, wenn Ihr mir bei folgendem Problem weiterhelfen könntet, sonst müsste ich einen Untersuchungsausschuss zu diesem Thema in Leben rufen. Und Ihr wisst ja, wie schwer das ist:

    So: "Wenn 10 Leute die Arbeit von einem erledigen, dann nennt man das einen Ausschuss" oder ähnlich soll John F. Kennedy über Ausschüsse gelästert haben. Fazit: Eine Person könnte diese Aufgabe mit Leichtigkeit bewältigen.

    Ich schicke die in einem html-Formular eingegebenen Daten bisher an eine Seite, auf der ein php-Skript daraus mittels JPGraph-Funktionen eine Grafik erstellt.

    Wenden wir die Bittersmann-Methode an: Du hast ein HTML-Formular. Du willst mehr zu HTML-Formularen wissen => Nachschlagen in SELFHTML.

    => Klick auf Kurzreferenz HTML
    => Klick auf Formulare

    Dafür müssen aber die Formulardaten bei Kopfdruck an dieses Popup gesendet werden. Da es einigermaßen viele sind, möchte ich POST verwenden.

    Bereits der zweite Eintrag der Seite, die ich gerade gefunden habe, handelt vom "Zielfenster für Serverantwort". Die Rede ist zwar vornehmlich von Frames, Du könntest aber durchtesten, ob es mit einem Popup, das Du vorher geöffnet hast, auch geht.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      "Wenn 10 Leute die Arbeit von einem erledigen, dann nennt man das einen Ausschuss"

      ach sooo.
      Und ich dachte immer, Ausschuss wäre ein anderer Begriff für Abfall...

      Wenden wir die Bittersmann-Methode an: [...]

      Wird immer wieder gern genommen. ;-)

      *scnr*
       Martin

      --
      Wenn du beim Kochen etwas heißes Wasser übrig hast, friere es ein.
      Heißes Wasser kann man immer gebrauchen.
      1. Hallo,

        Wenden wir die Bittersmann-Methode an: [...]
        Wird immer wieder gern genommen. ;-)
        *scnr*

        wer erklaert mir den Gag, ich moechte mitlachen ...

        m.b.G.  Rainer

        1. Hallo

          Wenden wir die Bittersmann-Methode an: [...]
          Wird immer wieder gern genommen. ;-)
          *scnr*
          wer erklaert mir den Gag, ich moechte mitlachen ...

          Über einen erklärten Gag kann man aber nicht lachen.

          Bitte informiere Dich im Archiv über SelfSELF aka Bittersmann-Methode, ein paar Linktipps gefällig?

          </archiv/2005/10/t116565/#m746423>
          </archiv/2005/10/t116638/#m746437>
          </archiv/2006/1/t121330/#m779928>
          </archiv/2006/1/t121973/#m784405>

          auch von Ashura adaptiert
          </archiv/2005/12/t120243/#m771950>

          Freundliche Grüße

          Vinzenz

    2. Bereits der zweite Eintrag der Seite, die ich gerade gefunden habe, handelt vom "Zielfenster für Serverantwort". Die Rede ist zwar vornehmlich von Frames, Du könntest aber durchtesten, ob es mit einem Popup, das Du vorher geöffnet hast, auch geht.

      Ok, Danke Vinzenz. Das funktioniert schonmal mit unten angegebenem Quellcode. Wunderbar. Jetzt öffnet sich aber das Popup wie von Dir beschrieben sofort bei Aufruf der Seite. Das hat zwei Nachteile:

      • ich muss meinen Popup-Blocker ausstellen
      • zunächst erscheint das Fenster leer, verdeckt das Formular, ich muss zurück auf die Formularseite klicken und dann wieder zurück auf das Popup. Das finde ich umständlich.

      Hast Du, hat jemand eine Idee, wie man das Popupfenster erst mit Klick auf den Submittbutton öffnen könnte?

      Gudenacht. david.

      <script type="text/javascript">
      window.open("datei.htm", "Fenster", "width=1370,height=620,left=5,top=100");
      </script>

      <form action="statistic_stroke.php" method="POST" target="Fenster">
      ...
      <input type="submit" value="Grafik erstellen">
      </form>

      1. Hallo David,

        Ok, Danke Vinzenz. Das funktioniert schonmal mit unten angegebenem Quellcode. Wunderbar.

        aber bitte doch. Wir helfen gerne.

        Jetzt öffnet sich aber das Popup wie von Dir beschrieben sofort bei Aufruf der Seite. Das hat zwei Nachteile:

        • ich muss meinen Popup-Blocker ausstellen

        das hast Du gut erkannt. Und sogar eine Idee, wie Du das lösen könntest:

        Hast Du, hat jemand eine Idee, wie man das Popupfenster erst mit Klick auf den Submittbutton öffnen könnte?

        Nächste Folge in SelfSELF:

        Könnte das in SELFHTML stehen? Bestimmt. Du möchtest ein Popupfenster öffnen - und zwar mit Hilfe des Ereignisses "Klick auf Submitbutton". Dazu brauchst Du Javascript. Hmm, vier Unterkapitel, aber in der Einführung wird es nicht stehen und bei den Anwendungsbeispielen wohl auch nicht (schamlos abgekupfert). Nur noch zwei zur Auswahl, probieren wir einfach den ersten Eintrag, Javascript-Sprachelemente. Was entdecken wir am Ende der Liste? Eventhandler, das sieht doch gut aus, da gibt es sogar ein Ereignis onclick (beim Anklicken).

        aber Du hast ja noch ein anderes Problem

        • zunächst erscheint das Fenster leer, verdeckt das Formular, ich muss zurück auf die Formularseite klicken und dann wieder zurück auf das Popup.

        Dein Fenster verliert also den Fokus an das Popup. Nun, wenn es zeitgleich mit dem Absenden erfolgt, ist das ja kein Problem. Wenn doch, so gibt es auf der gleichen Seite noch das Ereignis onblur (beim Verlassen).

        Freundliche Grüße

        Vinzenz

        1. Hallo Vinzenz,

          ich muss zugeben, die Bittersmann-Methode gefällt mir. Hilfe zur Selbsthilfe ist eben meist die beste Hilfe. Aber dennoch ist mein Problem mit all Deinen/Euren Hinweisen noch nicht gelöst. Denn wenn ich es so ausprobiere:

          <script type="text/javascript">
          function popup() {
           fenster=window.open("statistic_stroke.php", "Popupfenster", "width=400,height=300,resizable=yes");
           fenster.focus();
           return false;
          }
          </script>

          <form action="statistic_stroke.php" method="POST" onsubmit="return popup();">
          ...
          <input type="submit" value="Grafik erstellen">
          </form>

          tritt eben das Problem auf, das ich alleine nicht lösen konnte, weshalb ich hier gepostet habe: die Formulardaten kommen nicht im Popup an. Egal ob mit onclick oder onsubmit. Dabei kommt noch eine weitere Unsicherheit von mit zu Tage: ich übergebe den Dateinamen nicht an die open-Funktion, sondern sie steht in der Definition der Funktion in der Parameterliste wie man sehen kann. Wenn ich versuche, sie zu übergeben, passiert gar nichts. Kein Popup.

          Hoffe weiterhin auf Eure geduldige Unterstützung.
          david.

          1. <form action="statistic_stroke.php" method="POST" onsubmit="return popup();">

            Wo ist denn das Target geblieben?
            Hier https://forum.selfhtml.org/?t=125071&m=806256 hattest du noch eins.

            In der window.open() Funktion brauchst du dann keine URL mehr.

            Struppi.

          2. Hell-O!

            <form action="statistic_stroke.php" method="POST" onsubmit="return popup();">

            Dein Javascript gibt immer "false" zurück, somit verhinderst du, dass das Formular versandt wird.

            Dabei kommt noch eine weitere Unsicherheit von mit zu Tage: ich übergebe den Dateinamen nicht an die open-Funktion, sondern sie steht in der Definition der Funktion in der Parameterliste wie man sehen kann. Wenn ich versuche, sie zu übergeben, passiert gar nichts. Kein Popup.

            Du solltest besser ein leeres Popup öffnen, indem du die URL einfach leer lässt. Das Laden des Scripts in deinem Popup sollte entsprechend Struppis Hinweis eigentlich funktionieren.

            Siechfred

        • ich muss meinen Popup-Blocker ausstellen
        • zunächst erscheint das Fenster leer, verdeckt das Formular, ich muss zurück auf die Formularseite klicken und dann wieder zurück auf das Popup. Das finde ich umständlich.

        Hast Du, hat jemand eine Idee, wie man das Popupfenster erst mit Klick auf den Submittbutton öffnen könnte?

        Einfach in dem du das Fenster erst onsubmit öffnest.

        Struppi.