我的带有SELECT和OPTIONS值的html页面将其中一个选项设置为默认值。
如果用户选择了一个不同的选项,然后将他带到一个新页面,我想保留该值,以便下次生成主页时,用户选择的值应保持显示,而不是窗口重新加载时的原始默认值。
我如何在javascript中执行此操作?
我曾尝试通过所选值的DOM捕获来保存值,但我似乎无法更改原始默认值。
例如,一行代码为:
window.location.reload();
我是否使用“保持值”来捕获用户选择的与默认选项不同的选项,如下所示:
var holdPick = document.getElementById(“uPick”).value;
window.location.reload();
document.getElementById(“uPick”).value = holdPick;
这不会起作用,我不知道为什么。
答案 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,但我不认为它是直截了当的。