André: Zurückbutton für Formular ohne Datenverlust?

Hallo,
Ich verwende ein recht aufwendiges Formular mit Folgeseiten (Bestätigungsseiten). Stellt der Benutzer nun fest, das er etwas falsch eingegeben hat und geht mit dem Browser zurück, ist das zuvor ausgefüllte Formular leer.
Ich suche nach einer Möglichkeit einen Button in ein Formular einzubauen, mit dem man auch einen Schritt zurück gehen kann, ohne das die Daten aus dem Formular verschwinden.
Link:
http://www.acar4you.de/anzeigevw.htm

Gruß
André

  1. Hello,

    welche serverseitige Technik verwendest Du dafür?
    Oder verwendest Du active scripting?

    Mit HTML alleine kenne ich keine Lösung, die genügend sicher funktioniert.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Es sollte in HTML gelöst werden

      1. Hello,

        Es sollte in HTML gelöst werden

        Wie soll das gehen?
        Beschreib doch bitte mal Deine Vorstellungen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hi André,

    Ich suche nach einer Möglichkeit einen Button in ein Formular einzubauen, mit dem man auch einen Schritt zurück gehen kann, ohne das die Daten aus dem Formular verschwinden.

    Du benötigst ein sogenanntes "Affenformular", lies dazu: http://www.php-faq.de/q/q-stil-normalform.html.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Wissen ist gut, Können ist besser, aber das Beste und Interessanteste ist der Weg dahin! (Detlef G.)
  3. Moin!

    Ich suche nach einer Möglichkeit einen Button in ein Formular einzubauen, mit dem man auch einen Schritt zurück gehen kann, ohne das die Daten aus dem Formular verschwinden.

    Das ist ein Browserproblem, welches mit serverseitigen Methoden kaum lösbar ist.

    Opera macht, was du willst, nämlich ganz prima. Ich ärgere mich immer wahnsinnig, wenn ich mit anderen Browsern arbeiten muß, denn dieses Feature, den Verlassenszustand eines Formulars intern mit zu speichern und beim Bewegen mit "zurück" und "vor" jeweils den zuletzt gesehenen Zustand des Formulars neu anzuzeigen.

    Alle anderen Browser speichern die Formulareingaben nicht, sondern zeigen nur die nackte, original vom Server geladene Formularseite - und da diese keine oder nur die unveränderte Vorbelegung der Formularfelder hat, aber nicht den letzten Bearbeitungsstand des Benutzers widerspiegelt, kommt es eben zu Datenverlusten, die in diesem Fall komplett dem Browser anzulasten sind.

    • Sven Rautenberg
    1. Hello,

      Das ist ein Browserproblem, welches mit serverseitigen Methoden kaum lösbar ist.

      Hast Du dich da verschrieben?
      Das ist ein Browserproblem, das leider nur mit serverseitigen Techniken lösbar ist und dann aber leider vom Benutzer erwartet, dass er den Unterschied zwischen Browsereigenem Back-Button und Navigations-Button _im_ Formular begreift.

      Sonst hat er nämlich schon das nächste Problem, dass der Server wahrscheinlich beim Ausliefern des Forms den Browser gebeten hat, das Dokument beim Verlassen als ungültig zu markieren...

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Moin!

        Das ist ein Browserproblem, welches mit serverseitigen Methoden kaum lösbar ist.

        Hast Du dich da verschrieben?

        Nein, aller Text steht genauso da, wie ich ihn meinte.

        Das ist ein Browserproblem, das leider nur mit serverseitigen Techniken lösbar ist und dann aber leider vom Benutzer erwartet, dass er den Unterschied zwischen Browsereigenem Back-Button und Navigations-Button _im_ Formular begreift.

        Ein (nach meinen Maßstäben) vernünftiges Multiseitenformular sollte dem Benutzer möglichst große Freiheit in der Bedienung geben. Dazu gehört für mich insbesondere Bewegungsfreiheit auch mit den Browsertasten - und genau dort versagen die allermeisten Browser eben.

        Ansonsten sähe ich absolut kein Problem. Multiseitenformulare sammeln die zu erhebenden Daten ja ohnehin per Session vom Besucher ein und können die endgültige Verarbeitung sowieso erst nach Abschluss aller Seiten starten.

        Sonst hat er nämlich schon das nächste Problem, dass der Server wahrscheinlich beim Ausliefern des Forms den Browser gebeten hat, das Dokument beim Verlassen als ungültig zu markieren...

        Trotzdem der HTTP-Expires-Header (welcher übrigens gar nicht exakt den Zeitpunkt des Verlassens markieren kann, weil der Server dazu in die Zukunft schauen müßte) existiert, für das Caching relevant ist und zum Verhindern desselben meist auf längst vergangene Daten gesetzt wird, ist dessen Existenz und Wert für das Blättern mit den Browserfunktionen "vor" und "zurück" irrelevant. Jedenfalls im Opera, und Opera bewegt sich hierbei absolut korrekt innerhalb der Spezifikationen.

        Zitat aus RFC 1945, Abschnitt 10.7 "Expires":
          "User agents often have history mechanisms, such as "Back" buttons and
           history lists, which can be used to redisplay an entity retrieved
           earlier in a session. By default, the Expires field does not apply to
           history mechanisms. If the entity is still in storage, a history
           mechanism should display it even if the entity has expired, unless
           the user has specifically configured the agent to refresh expired
           history documents."

        • Sven Rautenberg
        1. Hallo,

          Das ist ein Browserproblem, welches mit serverseitigen Methoden kaum lösbar ist.

          Bei ASP.NET gibt es eine schöne Lösung: Stichwort Viewstate.

          Gruß,
          LeKuchen

          1. Moin!

            Das ist ein Browserproblem, welches mit serverseitigen Methoden kaum lösbar ist.

            Bei ASP.NET gibt es eine schöne Lösung: Stichwort Viewstate.

            ASP.NET Viewstate ist nichts anderes, als das klassische PHP-Affenformular, nur dass man es nicht mehr explizit selbst programmieren muß, sondern von ASP unterstützt wird.

            Das ändert aber am hier dargestellten Problem nichts. Auch ein PHP-Affenformular (und dementsprechend auch ASP-Viewstates) würde nicht das Problem lösen, dass man in vielen Browsern mit der Zurück-Taste die eingegebenen Formularinhalte der vorherigen Seite verliert.

            • Sven Rautenberg
    2. Hi,

      Alle anderen Browser speichern die Formulareingaben nicht, sondern zeigen nur die nackte, original vom Server geladene Formularseite

      nö. Mein Firefox behält die Formulardaten ebenfalls.

      freundliche Grüße
      Ingo