我想让2个按钮工作。一个应该保存我的本地存储,另一个应该读取我的本地存储。出于某种原因,他们仍然没有工作。我确实有警报工作,但现在这不起作用。为了读取本地存储,我想使用jQuery append()方法。关于我缺少什么的任何想法。
脚本
$(document).ready(function() {
function saveLocal(){
if (window.localStorage) {
localStorage.setItem("firstname","myfirstname");
localStorage.setItem("lastname","mylastname");
localStorage.setItem("state","mystate");
alert("The data has been saved locally.");
} else {
alert("Your Browser does not support LocalStorage.");
}
}
function readLocal(){
if (window.localStorage) {
var firstname = localStorage.getItem("myfirstname");
var lastname = localStorage.getItem("mylastname");
var coursetitle = localStorage.getItem("mystate");
$("#message").empty().append( firstname + " " + lastname + " " + state );
}else {
alert("Your Browser does not support LocalStorage.");
}
}
}); // end ready
HTML
</div>
</p>
<p>
<div id="main">
<input type="button" value="Save Values" onclick="saveLocal()"/>
<input type="button" value="Read Values" onclick="readLocal()"/>
</div>
答案 0 :(得分:6)
不要在$(document).ready()
处理程序中定义函数。这些名称只能在该函数的作用域内访问,因此它们不能用于内联处理程序,它们在全局范围内查找名称。
应该在该处理程序中唯一应该是在加载文档后需要进行的直接操作。函数定义不需要像那样延迟。
或者,您可以使用jQuery绑定代替在HTML中使用onclick
属性:
$("#savebutton").click(savelocal);
$("#readbutton").click(readlocal);
答案 1 :(得分:2)
删除准备好的文件,不需要它。你不要求它运行任何东西。将脚本放在head标签中并将其称为一天