2009-07-18 7 views
1

Ich habe eine einfache JSP mit vier Tasten (Button1, Button2, Button3 und Button4).Wie behalte ich den Formularwert nach dem Refresh-Browser?

Der Button-Wert in versteckten Feld gesetzt, wenn ich auf die Schaltfläche klicken.

Ich brauche den neuesten Button-Klick-Wert nach dem Aktualisieren der Seite (den Wert der Schaltfläche beibehalten).

könnte mir bitte jemand helfen?

<script> 
    function one(tab){ 
     document.getElementById('h').value=tab; 
    } 

    function fun(){ 
     var value =document.getElementById('h').value; 
     alert(value); 
    } 
</script> 

<td> <input type="button" name="Tab1" id="Tab1" value="Table One" onClick="one('1')"/></td> 
<td> <input type="button" name="Tab2" id="Tab2" value="Table Two" onClick="one('2')"/></td> 
<td> <input type="button" name="Tab3" id="Tab3" value="Table Three"onClick="one('3')"/></td> 
<td> <input type="button" name="Tab4" id="Tab4" value="Table four" onClick="fun()"/></td> 

<input type="hidden" name="h" id="h" value=""/> 

+0

In dem Szenario, an dem Sie gerade arbeiten, sind Sie besorgt über eine programmgesteuert ausgelöste Aktualisierung oder einen Benutzer, der auf die Aktualisierungsschaltfläche des Browsers klickt? – Rojo

+0

Programmgesteuert ausgelöst. – Tony

Antwort

4

Sie könnten versuchen, mit Hilfe von Cookies, zum Beispiel:

function one(tab){ 
    createCookie("savedvar",tab,1); 
} 

und den Zugriff auf sie dann durch: readCookie("savedvar")

aus dem Code: http://www.quirksmode.org/js/cookies.html

+0

Danke für deine Antwort. Ich greife nicht auf den Cookie zu. Meine Idee ist, den Knopfwert zu erhalten, der vor dem Seitenauffrischen angeklickt wird. – Tony

+0

Danke, ich implementiere die gleiche Logik. Funktioniert gut - – Tony

0

Heutzutage kann man sessionStorage verwenden, um dies zu erreichen. Sie möchten keinen Cookie verwenden, da ein Cookie in den Tabs des Browsers geteilt wird.

session ist ähnlich Window.localStorage ist der einzige Unterschied, während in localstorage gespeicherten Daten keinen Ablaufsatz haben, in session gespeicherten Daten gelöscht wird, wenn die Seite Sitzung endet. Eine Seitensitzung dauert so lange, wie der Browser geöffnet ist und über Seiten neu geladen und wiederhergestellt wird. Das Öffnen einer Seite in einer neuen Registerkarte oder einem neuen Fenster bewirkt, dass eine neue Sitzung initiiert wird, die sich von der Funktionsweise der Sitzungscookies unterscheidet ().

Verwandte Themen