HTML5 Javascript。如何保存Textarea输入然后通过按钮加载它

时间:2014-07-15 16:02:21

标签: javascript html5

我有一个项目,我正在努力工作的地方" 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");
};

2 个答案:

答案 0 :(得分:1)

您必须为onclick属性分配功能。您正在呼叫doSavedoLoad并分配其返回值。由于这些函数没有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/