我有一个项目,我正在努力工作的地方" Save"将用户的数据保存到localStorage
的按钮,然后是"加载"用于加载用户从localStorage
保存的数据的按钮。但是,它不起作用。有人可以帮我解决这个问题吗?
HTML:
<textarea rows="10" cols="50" id="text"></textarea>
<br/><button id="save">Save</button>
<button id="load">Load</button>
JavaScript的:
function doSave(){
var txt = text.value;
localStorage.storedText= txt;
}
function doLoad(){
text.value = localStorage.storedText;
}
window.onload = function(){
saveButton = document.getElementById("save");
saveButton.onclick = doSave();
loadButton = document.getElementById("load");
loadButton.onclick = doLoad();
textarea = document.getElementById("text");
};
答案 0 :(得分:1)
您必须为onclick
属性分配功能。您正在呼叫doSave
和doLoad
并分配其返回值。由于这些函数没有return
语句,因此返回undefined
。
删除()
。不要马上打电话给他们。
答案 1 :(得分:1)
您错误地使用localStorage
:
function doSave(){
//Set the item in doSave()
//localStorage.setItem("text", text.value);
}
function doLoad(){
//Get the item in doLoad()
//text.value = localStorage.getItem("text");
}
另请阅读Quentin的答案:设置doSave()
事件时请勿致电doLoad()
和onclick
:
//When the window loads...
window.onload = function(){
saveButton = document.getElementById("save");
saveButton.onclick = doSave;
loadButton = document.getElementById("load");
loadButton.onclick = doLoad;
textarea = document.getElementById("text");
};
这里是&#34;小提琴&#34;:http://jsfiddle.net/NobleMushtak/JNKaU/