2017-04-13 122 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>