2009-06-30 20 views
0

Ich habe eine JavaScript-Funktion, die den Wert eines <input>-Felds in einen Cookie schreibt und dann die Seite aktualisiert. Die Seite muss aktualisiert werden, damit die Serverseite die Seite basierend auf den Werten aus dem Cookie erneut rendern kann.HTML-Eingabe wird bei der Seitenaktualisierung gelöscht

Ich möchte jedoch nicht, dass der Benutzer den Wert verliert, den sie in das Feld <input> eingeben, es sei denn, sie löschen es.

Wie kann ich dies mit Javascript erreichen?

+0

Soll das Eingabefeld nach der Aktualisierung denselben Wert haben wie vor der Aktualisierung? –

+0

Ja sollte es –

Antwort

0

Wenn der Benutzer die Seite manuell aktualisiert, überprüfen Sie window.onbeforeunload.

Wenn der Benutzer das Formular posten, dann spucke die Wert-Server-Seite aus oder benutze JavaScript, um den Cookie-Wert zu erhalten.

+0

haben Ich bin verwirrt, setzen Sie das in den Eingabefeld-Tag? –

0

Nicht aktualisieren. Leiten Sie den Benutzer zurück zur selben URL, aber mit einem zusätzlichen Querystring-Parameter. Heben Sie dies in JS auf und füllen Sie das Textfeld.

0

Wenn Sie versuchen, den Wert der Texteingabe nach dem Refresh einzustellen, benutzen Sie diese Javascript:

var inputval = getCookie('nameofcookie'); 

if(inputval != NULL && inputval != "") { 

    document.getElementById('idofinput').value = inputval; 

} 

Ersetzen „nameofcookie“ mit dem Namen des Cookies, die der Eingangswert in gespeichert ist, und ersetzen Sie "idofinput" durch die ID des Texteingabefeldes.

+0

Wann und wo wird das Code-Snippet ausgeführt, in der Funktion, die die Seite aktualisiert oder außerhalb? –

+0

Außerhalb der Funktion, wenn die Seite geladen wird. –

Verwandte Themen