Javascript 本地存储示例没有';I don’我不能按我期望的那样工作
在我的网络大学课程中,有一个本地存储的例子,它说它应该在输入区域显示按钮的点击次数,并将其存储在本地存储中,但无论我点击按钮多少次,我得到的都是输入的NaNJavascript 本地存储示例没有';I don’我不能按我期望的那样工作,javascript,html,Javascript,Html,在我的网络大学课程中,有一个本地存储的例子,它说它应该在输入区域显示按钮的点击次数,并将其存储在本地存储中,但无论我点击按钮多少次,我得到的都是输入的NaN <head> <script> window.onload = function() { var el=document.getElementById("bt"); el.onclick= function() {
<head>
<script>
window.onload = function()
{
var el=document.getElementById("bt");
el.onclick= function()
{
var x = parseInt(localStorage.getItem("nrc"));
if (x!==NaN){
localStorage.setItem("nrc", x + 1);
}
else{
localStorage.setItem("nrc", "1");
}
document.getElementById("write").value = localStorage.getItem("nrc");
}
document.getElementById("write").value = localStorage.getItem("nrc");
var buton2=document.getElementById("bt2");
buton2.onlick = function ()
{
localStorage.removeItem("nrc");
}
}
</script>
</head>
<body>
<p> Number of clicks on the button <input type="text" id="write" value="0"> </p>
<button id="bt"> Click</button>
<button id="bt2"> Click2</button>
</body>
window.onload=函数()
{
var el=document.getElementById(“bt”);
el.onclick=函数()
{
var x=parseInt(localStorage.getItem(“nrc”);
如果(x!==NaN){
setItem(“nrc”,x+1);
}
否则{
localStorage.setItem(“nrc”、“1”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
var buton2=document.getElementById(“bt2”);
buton2.onlick=函数()
{
localStorage.removietem(“nrc”);
}
}
点击按钮的次数
点击
点击2
编辑:问题已经解决,但现在如果我想从本地存储中删除某个项目或清除本地存储,它将不起作用。您正在将一个非数字检查为一个非数字,这将始终为真 无论如何,这个解决方案已经发布在评论中了
window.onload=函数(){
var el=document.getElementById(“bt”);
el.onclick=函数(){
var x=parseInt(localStorage.getItem(“nrc”);
如果(!isNaN(x)){
setItem(“nrc”,x+1);
}否则{
localStorage.setItem(“nrc”、“1”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
document.getElementById(“write”).value=localStorage.getItem(“nrc”);
}
点击按钮的次数
点击
您输入了一个拼写错误,您编写了onlick
而不是onclick
buton2.onclick = function() {
console.log('clearing storage!');
localStorage.removeItem("nrc");
// Reset input back to zero
document.getElementById("write").value = '0';
}
完整的工作示例
如果(x!==NaN)
将始终为真,而不管localStorage[“nrc”]
->的内容是什么!遵循安德烈亚斯所指出的,考虑使用<代码> iSnAd()/Case>,我只是尝试清除本地存储,它不起作用,然后尝试从本地存储中删除一个项目,也不起作用。