2017-04-13 41 views
0

jQuery的:HTML5 localStorage.setItem值设置,但没有得到价值

$(document).ready(function() { 
    alert(localStorage.getItem(pet_name)); 
    $("#lost_step1").click(function(){ 
     alert($("#pet_name").val()); 
     localStorage.setItem(pet_name, $("#pet_name").val()); 
     alert(localStorage.getItem(pet_name)); 
    } 
} 

当我刷新页面比它没有得到pet_name之外点击功能的价值。它提醒内部点击功能。我该如何解决这个错误?为什么它没有获得价值?请帮帮我。现在我很无奈。并为我弱小的英语感到抱歉。

+0

凡'pet_name'定义/初始化?如果这来自具有'pet_name'的'id'的元素,则需要存储该值以便可以访问它。 –

+0

内部点击功能 –

+0

不,它不是。你有'#pet_name'作为你获得值的元素,但是你将'pet_name'写为一个标准的JavaScript变量,这个变量在任何地方都没有声明。 –

回答

0

也许尝试这个

https://jsfiddle.net/dalinhuang/hgf1gcz5/1/

根据您的例子:

$(document).ready(function() { 
    var pet_name = "pet_name"; 

    alert('init --> ' + localStorage.getItem(pet_name)); 

    $("#lost_step1").click(function() { 
    var pet_name_val = $("#pet_name").val(); 
    alert('before save-->' + pet_name_val); 
    localStorage.setItem(pet_name, pet_name_val); 
    alert('after save-->' + localStorage.getItem(pet_name)); 
    }); 
}); 





<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<input value="test_pet_name" id="pet_name" /> 
<br> 
<button id="lost_step1">CLICK ME!</button>