Heim >Web-Frontend >js-Tutorial >Wie kann ich den Status der Formularübermittlung über Seitenneuladevorgänge hinweg beibehalten?

Wie kann ich den Status der Formularübermittlung über Seitenneuladevorgänge hinweg beibehalten?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-03 16:49:41860Durchsuche

How Can I Persist Form Submission State Across Page Reloads?

Variablen zwischen Seitenladevorgängen beibehalten

Problem:

Sie müssen das Formularübermittlungsereignis erfassen und prüfen, ob das Formular vorhanden ist Diese Informationen bleiben nach dem erneuten Laden der Seite erhalten, sodass Sie darauf zugreifen können, wenn die Seite erneut geladen wird neu geladen.

Falscher Ansatz unter Verwendung globaler Variablen:

<br>var clicked = false;</p>
<p>$(document).ready (function() {<br> $("inputtype='submit'").attr("onclick", "form.act.value='detailSearch'; clicked = true; return true;");</p>
<p>if (clicked == true) {</p>
<pre class="brush:php;toolbar:false">// show hidden fields

} else {

// don't show hidden fields

}
});

Dieser Code versucht zu speichern der Formularübermittlungsstatus in einer globalen Variablen, aber er ist wirkungslos, da HTTP zustandslos ist und jedes Neuladen der Seite alle Variablen zurücksetzt.

Lösungen für persistente Datenspeicherung:

Abfragezeichenfolge:

  • Aktualisieren Sie die Abfragezeichenfolge mit einem Parameter, der die Formularübermittlung angibt.
  • Beim Laden der Seite Analysieren Sie die Abfragezeichenfolge, um den Status des übermittelten Formulars abzurufen.

Web Storage:

  • Mit HTML5 Web Storage können Sie Daten lokal auf dem speichern clientseitig über Seitenladevorgänge hinweg mithilfe von sessionStorage (für temporäre Daten) oder localStorage (für längerfristige Daten). Daten).

Cookies:

  • Cookies sind eine weitere clientseitige Datenspeicheroption, die über verschiedene Domänen hinweg bestehen bleiben kann.

window.name:

  • Trotz seiner name, window.name kann zum Speichern von Zeichenfolgenwerten verwendet werden.
  • Im Gegensatz zu Cookies bleibt es auf allen Seiten derselben Domäne bestehen, jedoch nur innerhalb der aktuellen Registerkarte.

Das obige ist der detaillierte Inhalt vonWie kann ich den Status der Formularübermittlung über Seitenneuladevorgänge hinweg beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn