在浏览器刷新后如何在不使用cookie的情况下保留单选按钮和复选框值?

时间:2009-07-19 15:44:03

标签: javascript

我有三个单选按钮和4个复选框。

我希望在浏览器刷新后保留单选按钮和复选框值。

我不想使用cookies(由于某些其他原因)。

有人可以帮助我吗?

6 个答案:

答案 0 :(得分:1)

我不认为这是可能的,因为HTTP是无状态的,cookie或服务器端脚本提供“状态”。

答案 1 :(得分:1)

您可以改用会话。

编辑:我的不好,我读的是PHP而不是Javascript。但是,我在Google快速搜索后找到了这个链接。 Session variables without cookies in JS

答案 2 :(得分:1)

您可以使用哈希网址。

像这样的东西(不记得你是否还需要指定页面的名称,但我不这么认为):

document.location.href = '#radio1=1&radio2=0' 

哈希表示它只是指向当前页面上的内容而不是指向另一个页面(并且浏览器在地址字段中更新它,因此如果用户重新加载页面,它仍然会在那里)。然后你也可以从javascript中读取并设置它。

不如使用服务器端会话,但它是一个选项:)

答案 3 :(得分:1)

如果您使用表单来触发新页面加载,则可以使onsubmit事件调用javascript函数来更改窗口位置并附加存储单选按钮值的URL参数。当页面加载时,您将从URL读取参数值。像这样:

<script type="text/javascript">
    function changeURL(){
        var str = window.location+"?radio1=1";
        window.open(str);
        return false;

    }
    </script>

...

<FORM onsubmit="changeURL();">
<INPUT TYPE="submit" value="click me" >
</FORM>

答案 4 :(得分:1)

正在开发一种新工具,允许网站在客户端计算机上存储持久数据。在某些浏览器中已经可用,这允许您保存收音机和复选框状态,并在用户访问您的站点时恢复和恢复它们。有关详细信息,请参阅此处https://developer.mozilla.org/en/DOM/Storage和此处http://dev.w3.org/html5/webstorage

答案 5 :(得分:0)

页面上有一些JS将所有单选按钮/复选框事件提交给服务器,并将其状态存储在数据库中。当页面(重新加载,发送此状态作为HTML的一部分。