刷新浏览器后如何保留表单值?

时间:2009-07-18 14:11:33

标签: javascript jsp

我有一个简单的JSP,它有四个按钮(Button1,Button2,Button3和Button4)。

单击按钮时,按钮值设置为隐藏字段。

刷新页面后我需要获取最新的按钮点击值(保留按钮值)。

有人可以帮助我吗?

<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=""/>

3 个答案:

答案 0 :(得分:4)

您可以尝试使用Cookie,例如:

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

然后通过以下方式访问它:readCookie("savedvar")

使用以下代码:http://www.quirksmode.org/js/cookies.html

答案 1 :(得分:0)

有一个非常简单的库来保存表单变量。它旨在自动保存它们,因此您无需担心设置和获取单个值。这是代码:   https://gist.github.com/zaus/4717416

这里还有一个更全面的图书馆:

https://github.com/guillaumepotier/Garlic.js

答案 2 :(得分:0)

现在您可以使用sessionStorage来完成此任务。您不想使用cookie,因为cookie是跨浏览器选项卡共享的。

  

sessionStorage类似于Window.localStorage,唯一的区别是当存储在localStorage中的数据没有到期设置时,存储在sessionStorage中的数据在页面会话结束时被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。 在新标签页或新窗口中打开页面会导致启动新会话,这与会话Cookie的工作方式不同。