HTML按钮不起作用

时间:2013-06-01 01:46:54

标签: javascript jquery html button

我想让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>

2 个答案:

答案 0 :(得分:6)

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

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

或者,您可以使用jQuery绑定代替在HTML中使用onclick属性:

$("#savebutton").click(savelocal);
$("#readbutton").click(readlocal);

答案 1 :(得分:2)

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