所以这就像一个待办事项列表网站,但是当我刷新时,什么都没有保存! 这是HTML和Javascript:
localStorage.setItem('myInput'); {
var save = localStorage.getItem("myInput");
}
localStorage.setItem('myInput2'); {
var save = localStorage.getItem("myInput2");
}
localStorage.setItem('myInput3'); {
var save = localStorage.getItem("myInput3");
}

<div class="modal-content">
<span class="close">×</span>
<div id="myDIV" class="header">
<h2>Add a task</h2>
<input type="text" id="myInput" placeholder="Write a task...">
<input type="text" id="myInput2" placeholder="Estimated time...">
<input type="text" id="myInput3" placeholder="Week...">
<span onclick="newElement()" class="addBtn" value="save" onClick="save()">Add</span>
</div>
</div>
</div>
<ul id="tehtavat">
</ul>
&#13;
我也在控制台中收到此错误:
index.html未捕获的TypeError:无法执行&#39; setItem&#39;上 &#39;存储&#39;:需要2个参数,但只有1个存在。
答案 0 :(得分:2)
如果要将值保存到localstorage,则需要将值作为第二个属性传递。第一个是关键。
localStorage.setItem('myInput', myValue);
将localstorage视为key / value
对的列表。
此外,您希望每次数据更改时手动将数据写入localstorage,所以让我们说keyup
事件:
document.getElementById('myInput').addEventListener('keyup', function(event){
localStorage.setItem('inputValue', event.target.value);
})
我可以想象,在加载时,你想要带回这个值;
var inputValue = localStorage.getItem('inputValue');
if(inputValue) { //just check if there's value saved
document.getElementById('myInput').value = inputValue;
}
请考虑到我在没有测试的情况下输入了我的代码,因此可能存在一些拼写错误。您也可以尝试自己解决拼写错误。