页面加载后无法设置所选属性

时间:2015-10-26 01:56:39

标签: javascript dom

我的带有SELECT和OPTIONS值的html页面将其中一个选项设置为默认值。

如果用户选择了一个不同的选项,然后将他带到一个新页面,我想保留该值,以便下次生成主页时,用户选择的值应保持显示,而不是窗口重新加载时的原始默认值。

我如何在javascript中执行此操作?

我曾尝试通过所选值的DOM捕获来保存值,但我似乎无法更改原始默认值。

例如,一行代码为:

window.location.reload();

我是否使用“保持值”来捕获用户选择的与默认选项不同的选项,如下所示:

var holdPick = document.getElementById(“uPick”).value;
window.location.reload();
document.getElementById(“uPick”).value = holdPick;

这不会起作用,我不知道为什么。

2 个答案:

答案 0 :(得分:0)

重新加载页面时,所有JavaScript都会重新加载。那就是为什么你发布的JavaScript代码片段似乎无法正常工作...... window.location.reload();之后的行甚至根本不运行。如果您希望在页面加载之间保留一个值,则需要设置和检索cookie。在MDN查看JavaScript document.cookie API。这应该告诉您在cookie中存储和检索值时需要了解的内容。

答案 1 :(得分:0)

原因:每次执行var holdPick时,它都会从头开始创建变量。 第二行告诉浏览器重新加载页面,因此第三行永远不会有机会被执行。

我建议使用HTML5 Web Storage

if (sessionStorage.uPick) { //check if variable has been set already
    document.getElementById(“uPick”).value  = sessionStorage.uPick;
} else {
    sessionStorage.clickcount = document.getElementById(“uPick”).value;
}

你也可以使用cookies,但我不认为它是直截了当的。