0

我试图让 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>
4

2 回答 2

6

不要在$(document).ready()处理程序中定义函数。这些名称只能在该函数的范围内访问,因此它们不能用于在全局范围内查找名称的内联处理程序中。

唯一应该在该处理程序中的是在加载文档后需要执行的直接操作。函数定义不需要像那样延迟。

或者,onclick您可以使用 jQuery 绑定,而不是在 HTML 中使用属性:

$("#savebutton").click(savelocal);
$("#readbutton").click(readlocal);
于 2013-06-01T01:52:34.770 回答
2

删除准备好的文件,不需要它。你不要求它运行任何东西。将脚本放在 head 标签中并收工

于 2013-06-01T01:55:18.013 回答