Zurück Button in Formularen

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

  • Zurück Button in Formularen

    Ich benutze ein 3 seitiges Formular. Von Seite zu Seite werden mit dem POST Befehl die Varaiablen weitergegeben und dann in eine Session angemeldet. Der Seitenwechsel erfolgt durch einne "weiter" Button (submit). Nun möchte ich gerne, dass der User die Möglichkeit hat, durch einen zusätzlichen "Zurück" Button noch einmal auf der Seite vorher Daten zu ändern und dann wieder auf die nächste Seite, durch den weiter Button zu gelangen. Am liebsten würde ich dann allerdings die evtl. bereits vorher auf der 2. Seite eingegebenen Daten erneut anzeigen (falls er bereits auf Seite 2 Daten eingegeben hatte). Im Grunde könnte man doch nach dem Rückschritt die Variablen von Seite 2 auf der Seite 1 in die Session laden? Aber geht das überhaupt - 2 Submit-Button (vor und zurück) in einem Formular???

  • #2
    Zitat von anna28 Beitrag anzeigen
    Aber geht das überhaupt - 2 Submit-Button (vor und zurück) in einem Formular???
    Ja, das ist möglich. Allerdings nicht, wenn du mit drei Dateien (action) arbeitest. Such mal nach dem Stichwort Affenformular. Das ist das, was du benötigst.

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

    Kommentar


    • #3
      "Affenformular" sagt mir was, aber ich kenne das in Verbindung mit Validierung. Ich möchte ja "einfach" nur 2 Submit-Button ("zurück" und "weiter"), die mit der Methode "Post" zu 2 unterschiedlichen Seiten wechseln.
      Button auf Seite 2:
      Code:
      <input type="submit" name="button" id="back" value="zurück" />
      <input name="weiter" type="submit" id="weiter" value="weiter" />
      <!-- Ziel zurück  -->
      <form action="seite1.php" method="post" name="myform" id="myform">
      <!-- Ziel weiter  -->
      <form action="seite3.php" method="post" name="myform" id="myform">

      Kommentar


      • #4
        Das geht nur mit JavaScript, denn das action-Attribut kann nur einen Wert haben.

        PHP-Code:
        // Pseudocode
        button1.onclick = function() {
          
        document.formularname.action 'bla.php';
          
        document.formularname.submit();
        }
        button2.onclick = function() {
          
        document.formularname.action 'blubb.php';
          
        document.formularname.submit();

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

        Kommentar


        • #5
          Kann man das ganze nicht so lösen?
          Auf Seite 2 des Formulares:
          HTML-Code:
          <form action="weiche.php" method="post" name="myform" id="myform">
          <input type="submit" name="button" id="back" value="zurück" />
          <input name="weiter" type="submit" id="weiter" value="weiter" />
          weiche.php:

          PHP-Code:
          if(isset($_POST['weiter']))
          {
              
          //weiter Button wurde gedrückt
              
          include_once('seite3.php');
          }
          else
          {
              
          //zurück Button wurde gedrückt
              
          include_once('seite1.php');

          Zuletzt geändert von anna28; 08.12.2011, 14:49.

          Kommentar


          • #6
            Zitat von Kropff Beitrag anzeigen
            Das geht nur mit JavaScript, denn das action-Attribut kann nur einen Wert haben.

            PHP-Code:
            // Pseudocode
            button1.onclick = function() {
              
            document.formularname.action 'bla.php';
              
            document.formularname.submit();
            }
            button2.onclick = function() {
              
            document.formularname.action 'blubb.php';
              
            document.formularname.submit();

            Peter
            Kann bzw. muss man dort im JS festlegen, mit welcher Methode übergeben wird? POST oder GET, denn ich hätte gerne POST.

            Kommentar


            • #7
              Meine Lösung- Ich habe neben dem Submit-Button einen Button 'zurück' installiert, der wie folgt aussieht:
              HTML-Code:
              <input name="button" type="button" id="back" onclick="MM_goToURL('parent','vorherige-seite.php');return document.MM_returnValue" value="zurück" />
              Es scheint zu klappen.

              Kommentar


              • #8
                Code:
                MM_goToURL[B][/B]
                Ist das wieder so ein Dreamweaver-Murks? Btw: die Lösung halte ich für nicht besonders toll. aber wenn es funktioniert. Meinen Segen hast du. Allerdings ist meiner Meinung nach ein Affenformular für so was besser geeignet.

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

                Kommentar


                • #9
                  Ich glaub mein Problem ist, dass ich nicht genau verstehe, wie ein Affenformular in meinem Beispiel die Lösung sein kann.
                  Da ich ein sehr großes Formular einsetze, möchte ich vermeiden, dass alle Daten auf einer Seite eingesetzt werden -
                  daher die Aufteilung auf 3 Seiten. Auf jeder Seite gibt es eine validitäts Prüfung, die ich mit JS realisiert habe (ich weiß - manipulierbar),
                  weil ich damit bessere Effekte einbauen kann.
                  Ich wollte einfach nur einen 'zurück' Button auf Seite 2 und 3, damit der user, falls ihm auf Seite 2 einfällt, dass er auf Seite 1
                  andere Angaben machen möchte, zurück gehen kann. Das habe ich jetzt auch mit php hinbekommen.
                  Aber da ich auf Seite 2 natürlich auch Pflichtfelder habe, kommen Meldungen, wenn diese noch nicht ausgefüllt sind
                  und ich auf Seite 1 wechseln will, was natürlich blöd ist.
                  Deshalb habe ich mich jetzt dazu entschlossen darauf zu verzichten, dass evtl. bereits in Seite 2 eingegebene Daten
                  bei einem Rückschritt erhalten bleiben und den 'zurück' Button mit JS und dem 'Murks' Dreamweaver realisiert
                  und der 'weiter' Button bleibt ein Submit Button der die Validierung anstößt. Ich kanns halt nicht besser. Dank

                  Kommentar

                  Lädt...
                  X