Frage

Wenn ein Benutzer in seinem Browser auf „Aktualisieren“ klickt, wird die Seite neu geladen, der Inhalt der Formularfelder bleibt jedoch erhalten.Obwohl ich sehe, dass dies eine nützliche Standardeinstellung ist, kann sie auf einigen dynamischen Seiten störend sein und zu einer beeinträchtigten Benutzererfahrung führen.

Gibt es eine Möglichkeit, dieses Verhalten in HTTP-Headern oder Äquivalenten zu ändern?

War es hilfreich?

Lösung

<input autocomplete="off">

Andere Tipps

Das sollte den Zweck erfüllen:

<body onload="document.FormName.reset();">

Ersetzen Sie „FormName“ durch den Namen Ihres Formulars. Alle Felder werden dann zurückgesetzt, wenn der Benutzer in seinem Browser auf „Aktualisieren“ klickt.

Wenn Sie nur einige Felder zurücksetzen möchten, fügen Sie dies unten auf Ihrer Seite hinzu:

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

Dadurch werden die Felder jedes Mal zurückgesetzt, wenn ein Benutzer die Seite betritt, einschließlich Aktualisierungen

Fügen Sie das auf „Aus“ gesetzte Attribut „Autovervollständigung“ zu den Eingaben hinzu, die nicht aktualisiert werden sollen.Zum Beispiel:

<input type="text" name="pin" autocomplete="off" />

sehendie W3C-Referenz

Obwohl in der Referenz nicht erwähnt, funktioniert es auch mit Kontrollkästchen, zumindest unter Firefox.

Sie können die Methode „reset()“ des Formularobjekts über das Body-Load-Ereignis Ihres HTML-Dokuments aufrufen, um die Formulare zu löschen.

h1.Verweise

Ich frage mich: Wird das Problem dadurch behoben, dass die Seite nicht über Meta-Tags zwischengespeichert wird? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html Wenn dies der Fall ist, hat es den Vorteil, dass es in Browsern funktioniert, bei denen Javascript deaktiviert ist.

Die Daten auf Formularen sind nicht Teil der W3C-Spezifikation.Es handelt sich um eine Browserfunktion, die Ihnen das Leben erleichtert.Wenn Sie also die Daten nach dem Neuladen nicht behalten möchten, können Sie alle Werte des Formulars nach dem Laden auf Null setzen, wie Espo sagte.Auch wenn die Seite nicht zwischengespeichert ist, werden die Daten im Formular angezeigt, da die Daten nicht Teil des HTML-Codes der Seite sind.Sie können dies auch versuchen (ich weiß nicht, ob es funktioniert):

<input type="text" name="foo" value="">
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top