Fritz: Formularinhalte mit POST weitergeben

Hallo zusammen

Kann mir jemand sagen, ob es möglich ist, Formulardaten per POST weiterzugeben, auch ohne dass man den submit-Button betätigt. Mein Problem ist konkret, dass ich auf einem Formular einen "zurück"-Button einbauen will (was ja grundsätzlich kein Problem ist), gleichzeitig sollen aber die bereits eingegebenen Formulardaten sozusagen an die vorhergehende Seite weitergegeben werden. Ist das möglich? Eigentlich soll also das gleiche gemacht werden wie beim submit-Button, nur das Ziel ist ein anderes.

  1. Hallo zusammen

    Kann mir jemand sagen, ob es möglich ist, Formulardaten per POST
    weiterzugeben, auch ohne dass man den submit-Button betätigt. Mein
    Problem ist konkret, dass ich auf einem Formular einen "zurück"-Button
    einbauen will (was ja grundsätzlich kein Problem ist), gleichzeitig
    sollen aber die bereits eingegebenen Formulardaten sozusagen an die
    vorhergehende Seite weitergegeben werden. Ist das möglich? Eigentlich
    soll also das gleiche gemacht werden wie beim submit-Button, nur das
    Ziel ist ein anderes.

    Javascript ist dein Freund!
    Stichwort submit() als Link

    1. Hallo zusammen

      Kann mir jemand sagen, ob es möglich ist, Formulardaten per POST
      weiterzugeben, auch ohne dass man den submit-Button betätigt. Mein
      Problem ist konkret, dass ich auf einem Formular einen "zurück"-Button
      einbauen will (was ja grundsätzlich kein Problem ist), gleichzeitig
      sollen aber die bereits eingegebenen Formulardaten sozusagen an die
      vorhergehende Seite weitergegeben werden. Ist das möglich? Eigentlich
      soll also das gleiche gemacht werden wie beim submit-Button, nur das
      Ziel ist ein anderes.

      Javascript ist dein Freund!
      Stichwort submit() als Link

      Bist du dir da sicher? Wenn ich submit() auf das Formular anwende, dann wird ja auch die action ausgeführt, die im form-Tag definiert wurde, und für das habe ich ja eben schon den submit-Button. Ich möchte aber eben das Formular nicht abschicken, sondern eine andere Seite aufrufen. Oder kann ich bei submit() in Javascript ein anderes Ziel angeben als im form-Tag? Oder liege ich völlig falsch?

      1. Hi,

        Ja, Dein Script kann natuerlich die action veraendern. Und ganz sicher moechtest DU nicht einfach zurueck, sondern das Formular abschicken. Du wolltest Die Werte ja behalten. Also muessen die auch irgendwie gesichert werden. Da Du an diesem Punkt sowieso eine Serverseitige Sprache benutzt, lass doch JS bleiben und mach es gleich wie beschrieben.

        Ansonsten kannst du jede Action eines Formulars unterdruecken wenn dein Java Script ein False zurueckgibt. So wie es bei jedem Java Script zur Formularpruefung auch laeuft.

    2. Mahlzeit,

      Javascript ist dein Freund!
      Stichwort submit() als Link

      Nicht zwangsläufig - schließlich kann es auch mehrere Submit-Buttons in einem Formular geben ... und je nach Name bzw. Wert kann man schauen, welcher gedrückt wurde. :-)

      MfG,
      EKKi

      1. Mahlzeit,

        Javascript ist dein Freund!
        Stichwort submit() als Link

        Nicht zwangsläufig - schließlich kann es auch mehrere Submit-Buttons in einem Formular geben ... und je nach Name bzw. Wert kann man schauen, welcher gedrückt wurde. :-)

        MfG,
        EKKi

        »»

        Hallo
        und was muss ich in dem Falle im form-Tag bei der Action angeben? Kann ich da direkt eine php-funktion aufrufen?

        Gruss Fritz

        1. Mahlzeit,

          und was muss ich in dem Falle im form-Tag bei der Action angeben? Kann ich da direkt eine php-funktion aufrufen?

          Nein, natürlich nicht - dort gehört ein URL rein. Dabei kann es sich natürlich um ein PHP-Skript handeln, das dann aufgrund des Wertes einer GET- oder POST-Variablen entscheidet, ob es weiter vor oder wieder zurückgehen soll ...

          Beispiel:

          -----8<-----8<-----8<-----

          <html>

          <head>
          <title>Tralala</title>
          </head>

          <body>
          <form action="tolles_skript.php">
          <input type="submit" name="aktion" value="Abbrechen" />
          <input type="submit" name="aktion" value="Weiter" />
          </form>
          </body>

          </html>

          ----->8----->8----->8-----

          MfG,
          EKKi

        2. echo $begrüßung;

          und was muss ich in dem Falle im form-Tag bei der Action angeben? Kann ich da direkt eine php-funktion aufrufen?

          Nein. Im action-Attribut kann immer nur ein Ziel notiert werden. Mit Javascript kann man das zwar ändern, aber das will man ja nicht, wenn das Formular auch ohne funktionieren soll.

          Schau dir zunächst die Technik des Affenformulars an. Dabei wird ja immer wieder die gleiche Seite aufgerufen. Du kannst das erweitern, indem du über ein eindeutiges Kriterium (z.B ein Hidden-Feld) feststellst, welcher Teil gerade ausgefüllt wurde. Das wirst du für die Prüfung der Eingabewerte benötigen. Anhand der Werte der Submit-Buttons kannst du außerdem entscheiden, in welcher Richtung es weitergehen soll.

          Bereits validierte Teilergebnisse solltest du nicht über das Formular durchreichen, weil diese vom Client manipuliert werden können. Du müsstest die Prüfung sonst jedes Mal wiederholen. Speichere diese Werte stattdessen in einer Session ab. Wenn der Benutzer "zurück" geht, kannst du ihm die Werte aus der Session als Vorgabewerte anzeigen.

          P.S. Bitte zitiere vom Vorgängerposting nur die Stellen, auf die du dich beziehst, nicht das komplette.

          echo "$verabschiedung $name";