我正在尝试将一些数据保存在本地存储中,但它无法正常工作。控制台中没有警告或错误。
if(localStorage.setItem("testid", document.getElementById("testid").value)) {
alert("done");
}
答案 0 :(得分:4)
`setItem`
函数返回任何意味着未定义的内容,因此if条件永远不会进入。但是,如果检查控制台工具,它仍应将值添加到本地存储。
以下是检查它的fiddle。
试试
localStorage.setItem("testid", document.getElementById("testid").value);
alert("Done");
答案 1 :(得分:1)
因为localStorage.setItem("testid",document.getElementById("testid").value)
没有返回任何内容,因此它永远不会显示任何警告。
为了确保您设置了项目,您可以通过检索来检查它,如果它不是null
,您可以显示它成功的提示
只是做:
if (typeof(Storage) !== "undefined") {
localStorage.setItem("testid", document.getElementById("testid").value);
if(localStorage.getItem("testid") !== null ) { alert("OK");}
else { alert("not saved");}
} else {
console.log("No storage support");
}

<div id="testid"> "Hello there" </div>
&#13;
答案 2 :(得分:0)
在使用本地存储之前,请检查对localStorage的浏览器支持
if (typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
var data = document.getElementById("testid").value;
localStorage.setItem("testid", data);
} else {
// Sorry! No Web Storage support..
}
答案 3 :(得分:0)
您已将数据设置为localstorage。 在localstorage下的浏览器控制台中检查DOM,它已经用值映射。
if(localoStorage.getItem("testid") != null){
alert("done");
}
像这样测试它会正常工作:)