Indyaner: Form -> Vor- und Zurück-Button

HI

Ich habe ein 4 Schritte System zur Entgültigen Bestellabgabe gemacht.

Da wird via form-buttons (type="image") die einzelnen Schritte durchlaufen und mit einigen hiddenfields Die Daten übergeben.

Ich wollte jetzt auch zu den Schritten Zurück-Buttons einfügen ... doch stosse ich da auf probleme.

Wenn ich einfache JavaScript:history.back();-Button benutze will die Seite jedesmal neu laden und die Werte gehen (vermutlich) verloren. Auch kann ich vorangegangene Werte nicht darstellen.

Wie kann ich denn dem Form sagen dass er die Werte mitnimmt wenn ich zur nächsten Seite gehe... oder zur Vorherigen Seite gehe?

Sollte ich das mit JavaScrpt lösen?

ciao

PS: Was meint der Fehler "Error not found: de_E_homepage_invalid" in diesem Forum. Erschiehn mir grade als ich dieses Thread abschicken wollte...

  1. da wirst du wohl nicht darum herumkommen die werte ständig von seite zu seite mitzuschleppen. und noch eine statusvariable mitgeben. wenn status == 1 dann mache das und das.

    hast du php zur verfügung? wenn ja lassen sich die variablen leicht auslesen.

    wenn nicht, musst du das über javascript machen. einen ansatz gibt es hier:

    http://www.grammiweb.de/anleitungen/ka_variablen.shtml

    gruß

    anarkist

    1. Hi

      Ja, ich setze PHP auch dort ein...

      Ich checke mit PHP die eingaben und setze notfallshalber den nächsten schritt nicht fort sondern lasse den kunden nochmal die eingaben prüfen...

      Aber wie kann ich einen zurück-button dann durch php realisieren?

      Ich probierte es schon dem Image-Button einen value zu verpassen und danhand seines values zu sehen ob es der NEXT oder BACK button ist...
      Doch das klappt nicht =/

      Wie habt ihr/würdest ihr es denn machen? (ihr=beide antworter) =)

      Hilfe wäre klasse!

      ciao

      1. Ich probierte es schon dem Image-Button einen value zu verpassen und danhand seines values zu sehen ob es der NEXT oder BACK button ist...
        Doch das klappt nicht =/

        wie wärs mit <input type ="hidden" value="array[]">?

        Wie habt ihr/würdest ihr es denn machen? (ihr=beide antworter) =)

        mit einem status. du hast zwei buttons einen für vor, einen für zurück.
        ich schreib das hier mal nur schemenhaft ,mit nur einem formulareintrag, bei mehreren -> schleifen verwenden. falls du nicht durchsiehst, melde dich einfach nochmal.

        <head>
        <javascript>
        function combineAndSend() {
        document.vor.formular.value = document.usereingaben.formularfeld1.value;
        </javascript>
        </head>

        <form name="usereingaben"> // dein formularfeld
        <input type = "text" name ="formularfeld1">
        </form>

        <form name="vor" onSubmit="combineAndSend ()">
        <input type ="hidden" name="formular">
        <input type ="hidden" name="sent" value="1">
        <input type ="submit">

        <form name="zurück" onSubmit="combineAndSend ()">
        <input type ="hidden" name="formular">
        <input type ="hidden" name="sent" value="2">
        <input type ="submit">

        damit packst du alles in ein hidden field und übergibst die werte, je nachdem wo du hinmöchtest.

        in php:

        <? php

        if ($sent == 1) {
        tu dies
        }

        if ($sent == 2) {
        tu das
        }

        alles klar?

        gruß

        anarkist

        1. NAja.. so hätte ich es ja auch gemacht.
          Worum es mir ging war es dass ich durch die Benutzung von PHP JavaScript umgehen kann.

          Das Zuweisen von Hiddenfields via Java mit document habe ich schon öfters gemacht...

          Meintet ihr nicht dass man mit PHP eine Lösung finden kann?

          Sonst könnte ich auch einfach statt 2 Forms anzulegen einen OnmouseOver auf die Buttons legen und bei jedem MouseOver den Action des Form ändern (via JavaScript)

          Andere möglichkeiten? =)

          ciao

          1. hi,

            Meintet ihr nicht dass man mit PHP eine Lösung finden kann?

            zu welchem problem genau?

            weiter oben schriebst du

            Ich checke mit PHP die eingaben und setze notfallshalber den nächsten schritt nicht fort sondern lasse den kunden nochmal die eingaben prüfen...

            gut so ...

            Aber wie kann ich einen zurück-button dann durch php realisieren?

            wenn du eine solche "zurück"-funktionalität brauchst - so lasse mit PHP die vorherige(n) stufen des formulares erneut ausgeben, und belege die felder mit den bisher getätigten eingaben vor - die du dir aus einer session holst, in der du sie vorher abgelegt hast.

            siehe auch
            http://www.php.net/manual/de/ref.session.php
            http://www.php-faq.de/ch/ch-version4_session.html
            http://tut.php-q.net/sessions.html

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Hi

              Ich komme da nicht mit... ich verstehe es nicht.

              Mit Session habe ich es auch schoneinmal probiert zu realisieren. Nur ist das Problem mit Sessions dass Sie erst durch session_start neu geladen werden.

              Das Hauptproblem... (denke ich) liegt darin dass ich meinem script nie sagen kann was für ein Button gedrückt wurde.

              Submit ist für ihn ein Submit... egal ob vor oder zurück...

              Ich bräcuhte etwas was dem script sagt: "Er hat den ZURÜCK-Button gedrückt..." oder eben den next-button.

              Wo ist da die schnittstelle?

              Geht es dass ich Buttons value zuweisen kann die Sie auch mitnehmen?
              Dann hätte ich meinen schlüssel.

              Aber so wie es grade ist geht es irgendwie nicht. Ich kann schlecht ein Hidden-fields setzen. Ausser das Hiddenfield würde erkennen welcher button geklickt wurde und das meinem script sagen.

              Kurzgesagt: Mir gehts wie meinem script... ich weiss weder vor noch zurück =/

              ciao

              1. hi,

                Ich bräcuhte etwas was dem script sagt: "Er hat den ZURÜCK-Button gedrückt..." oder eben den next-button.
                [...]
                Geht es dass ich Buttons value zuweisen kann die Sie auch mitnehmen?

                in den HTML-richtlinien des W3C ist eindeutig definiert, dass für jedes "successful form control" das paar name _und_ wert übertragen werden soll.

                in so fern verstehe ich nicht, wo genau dein problem liegt, den gedrückten button anhand seines namens (sofern eindeutig) oder seines wertes (sofern name bei mehreren buttons identisch) zu identifizieren.

                tipp: schau dir doch mal mit print_r($_POST) (bzw. $_GET) an, welche informationen alle übermittelt werden, wenn du ein formular abschickst.

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. das mit dem print_r war sehr aufschlussreich =)

                  Danke =)

                  ciao

  2. Hallo,

    Wie kann ich denn dem Form sagen dass er die Werte mitnimmt wenn ich zur nächsten Seite gehe... oder zur Vorherigen Seite gehe?

    Im Idealfall löst du das über eine serverseitetige Sprache (z.B. PHP), falls dir eine solche zur Verfügung steht.

    Viele Grüße
    Patrick

    --
    "Though this be madness, yet there's method in't."
    sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[