Harlequin: Formular-Reset

Hi,

ich kämpfe hier gerade mit folgendem Phänomen:

Ich hab ein Hidden-Feld das über das Value-Attribut einen Defaultwert bekommt. Über eine Benutzerinteraktion wird per Javascript der Wert gelöscht (auf "" gesetzt). Wenn ich nun im Firefox auf den Reload-Button klicke wird vom Server wieder ein Defaultwert über Value gesetzt. Allerdings ist für Javascript und auch im 'View Page Info' der aktuelle Wert des Hiddenfeldes immernoch Leer. Auch ein Reset des Formulares hilft nicht, das Feld bleibt leer. Weitere Tests haben ergeben, das Firefox hier immer den letzten Wert über den Reload der Seite hinweg beibehält. Allerdings scheinbar nur bei Hiddenfeldern (allerdings erinnere ich mich daran, dass ich das auch schon einmal früher bei Checkboxen erlebt hatte, da half jedoch ein per Javascript ausgelöster Reset des Formulars).

Gibt es dafür eine einfache Lösung? Also etwas anderes als den IDs der Inputfelder jedesmal ein zufallsgeneriertes Präfix zu verpassen, damit er seine Cacheinformationen nicht mehr zuordnen kann... das wird Programmiertechnisch ne Katastrophe denk ich...

Gruß,

Harlequin

PS: ich hab das Problem nur im FF, bei Opera und IE verhält sich alles wie gewünscht (der Value wert wird übernommen)

PPS: ist eine Intranetanwendung, Javascript kann also vorausgesetzt werden für die Lösung des Problems

  1. Hi,

    ist das was ich hier mache (per Javascript die Werte von Hiddenfeldern ändern) so abwegig, dass noch niemand über das Problem gestolpert ist? Oder mache ich grundsätzlich irgendetwas falsch?

    Gruß,

    Harlequin

    1. Hallo Harlequin,

      ist das was ich hier mache (per Javascript die Werte von Hiddenfeldern ändern) so abwegig, dass noch niemand über das Problem gestolpert ist? Oder mache ich grundsätzlich irgendetwas falsch?

      Dein Ansatz ist etwas abwegig, das stimmt. Schließlich dienen die hidden-Felder dazu, um einen Wert (der für das Dokument _feststeht_) an das Zielskript zu übergeben. Sprich: Diese Werte sind nicht dafür gedacht, dass man sie ändert. Daher wahrscheinlich deine Probleme.

      Für Benutzerinteraktionen sind die anderen Elemente da - was du möchtest, könnte eine Checkbox sein.

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
      http://emmanuel.dammerer.at/selfcode.html
      1. hi,

        Dein Ansatz ist etwas abwegig, das stimmt. Schließlich dienen die hidden-Felder dazu, um einen Wert (der für das Dokument _feststeht_) an das Zielskript zu übergeben. Sprich: Diese Werte sind nicht dafür gedacht, dass man sie ändert. Daher wahrscheinlich deine Probleme.

        Sagt wer?

        Für Benutzerinteraktionen sind die anderen Elemente da

        Wer _versteckte_ Felder benutzt, möchte vermutlich keine Benutzerinteraktion.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          Wer _versteckte_ Felder benutzt, möchte vermutlich keine Benutzerinteraktion.

          Zumindest nicht direkt auf diesen Feldern... Die Informationen die ich da speichere werden über Javascript aus verschiedenen anderen Eingaben des Benutzers zusammengebaut.

          Gruß,

          Harlequin

        2. Hallo wahsaga,

          Dein Ansatz ist etwas abwegig, das stimmt. Schließlich dienen die hidden-Felder dazu, um einen Wert (der für das Dokument _feststeht_) an das Zielskript zu übergeben. Sprich: Diese Werte sind nicht dafür gedacht, dass man sie ändert. Daher wahrscheinlich deine Probleme.

          Sagt wer?

          Niemand hat das _gesagt_. ;)

          Für Benutzerinteraktionen sind die anderen Elemente da

          Wer _versteckte_ Felder benutzt, möchte vermutlich keine Benutzerinteraktion.

          Genau darum ging es mir ja: Er möchte Benutzerinteraktion, verwendet aber versteckte Felder, die wiederum nicht auf Benutzerinteraktion ausgelegt sind.

          Grüße

          Marc Reichelt || http://www.marcreichelt.de/

          --
          Linux is like a wigwam - no windows, no gates and an Apache inside!
          Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
          http://emmanuel.dammerer.at/selfcode.html
      2. Hi,

        Für Benutzerinteraktionen sind die anderen Elemente da - was du möchtest, könnte eine Checkbox sein.

        Das Problem ist, das ich für meine Aufgabenstellung eine komplexe Oberfläche benötige, die eigentlich mit klassischen HTML-Elementen nicht lösbar ist. D.h. ich verbinde einzelne Elemente über Javascript zu dem was ich eigentlich benötige. Im derzeitigen Fall ist es eine konfigurierbare Eingabetabelle, bei der unter anderem die Spaltenüberschriften (also Welche bedeutung die eingegebenen Werte haben) geändert werden kann. Diese Überschriften kommen aus einer Selectbox und werden eben neben einer Anzeige in der <th> auch noch in einem Hiddenfeld zwischengespeichert, damit sie beim Submit auf dem Server landen, damit der die Werte richtig speichern kann.
        Das Problem ist halt jetzt, das beim Blättern in einen anderen Monat der Firefox die Vorgaben des Servers für den aktuellen Monat mit denen des zuletzt bearbeiteten überschreibt.

        Aber die Frage ist eigentlich: Wieso speichert der Firefox diese Informationen eigentlich überhaupt? Kein anderer Browser kommt auf die blöde Idee...

        Gruß,

        Harlequin