Ich lade eine Webseite neu, die den folgenden Code enthält:
<label for="showimage">Show Image</label>
<input id="showimage" name="showimage" type="checkbox" value="1" />
Obwohl der an den Browser gesendete HTML-Code bei jedem Neuladen der Seite gleich bleibt, nimmt das Kontrollkästchen immer den aktivierten Wert an, wenn ein Neuladen durchgeführt wurde. Mit anderen Worten, wenn der Benutzer das Kontrollkästchen aktiviert und neu lädt, ist das Kontrollkästchen weiterhin aktiviert.
Gibt es hier etwas Caching?
Bearbeiten : Ich habe die unten stehende Lösung von Gordon Bell ausprobiert und festgestellt, dass dies auch nach dem Entfernen des Werts = "1" noch geschieht. Kann ich sonst noch etwas vermissen?
<label for="showimage">Show Image</label>
<input id="showimage" name="showimage" type="checkbox" />
Fügen Sie
autocomplete="off"
dem Formularelement auf der Seite hinzu. Der Nachteil ist, dass dies kein gültiges XHTML ist, aber das Problem ohne kompliziertes Javascript behoben wird.quelle
set autocomplete = "off" mit js funktioniert auch gut.
Zum Beispiel mit jquery:
quelle
$("#formId").attr("autocomplete", "off")
wo#formId
sich die ID Ihres Formulars befindet.Es ist eine nette Funktion von Firefox: Wenn Sie etwas eingeben, aber die Seite neu laden, bleibt der Text im Textbereich. Idem für andere Einstellungen, die Sie gewählt haben.
Leider funktioniert es nicht in SO (wahrscheinlich von JS zurückgesetzt) und dümmeren Browsern wie IE ...
Was eine Lösung vorschlägt: Wenn Sie das wirklich tun müssen, setzen Sie das Formular mit JS zurück. form.reset () erledigt möglicherweise die Aufgabe (verhält sich wie die Schaltfläche zum Zurücksetzen der Eingabe).
quelle
Dies ist eine alte Frage, aber immer noch ein aktives Problem für Firefox. Keine der Antworten , die ich gelöst es versucht, aber was tat für mich zu lösen , es war einfach so:
Dadurch wird das Formular bei jedem Laden der Seite einfach auf die Standardoptionen zurückgesetzt. Nicht ideal, da Sie die Kontrolle verlieren, aber es ist das einzige, was dies für mich gelöst hat.
quelle
oder anstelle von f5 drücke die Eingabetaste in der Adressleiste :)
quelle
Dies kann an einem Browser-Caching liegen - sehr nützlich für statische Websites, die nicht zu oft geändert werden, sehr schlecht für dynamische Webanwendungen.
Versuchen Sie es mit diesen beiden Meta-Tags im Kopfbereich der Seite. Das zweite Meta-Tag ist für ältere Browser (IE5) gedacht, die das Meta-Tag "kein Cache" nicht erkennen und obwohl es unterschiedlich ist, das gleiche Ergebnis liefert: Jede Anforderung geht an den Server.
quelle
$ ("# showimage"). prop ("geprüft", falsch);
quelle
die öffentliche Idee, das zu lösen
Formular erstellen & Reset-Taste
quelle