2014-08-30 24 views
0

我想要做的是當用戶單擊按鈕時,它會將輸入框的值存儲到本地存儲。如何在輸入框中存儲數據如果點擊了特定按鈕

我的問題是我點擊按鈕後,它不會將數據存儲到localstorage,如果我刷新頁面所有輸入框都是空的。

測試鏈接:http://jsfiddle.net/LgA2m/64/

HTML:

One: <input type="text" name="one" id="one" /> <br /> 
One Copy:<input type="text" readonly="readonly" name="OneCopy" id="OneCopy" /> 
<br /> 
<button type="button" id="click">Click</button> 

腳本:

$('#click').click(function(){ 

$('#one').on("blur keyup change", function() { 
    localStorage.setItem($(this).attr("id"), $(this).val()); 
}); 

$('#one, #OneCopy').each(function (ind, val) { 
    $(val).val(localStorage.getItem($(val).attr("id"))); 
}); 

localStorage.setItem($('#OneCopy').attr("id"), $('#one').val()); 
$('#OneCopy').val(localStorage.getItem($('#one').attr("id"))); 

}); 
+0

您是否嘗試從頁面加載本地存儲重新加載值?我沒有看到任何代碼這樣做...因此他們仍然是空白的。或者你的腳本在所有的字段被渲染後運行? – scunliffe 2014-08-30 01:22:28

回答

1

你的代碼是相當混亂,你確實應該嘗試瞭解你有什麼,因爲我不認爲它符合你的想法。

不過,我已經寫了一些代碼,做什麼這聽起來像你想:

$('#click').click(function() { 
    localStorage.setItem("one", $("#one").val()); 
}); 

$(function() { 
    $('#OneCopy').val(localStorage.getItem('one')); 
}); 
1

你不應該換每次聽衆 裏面你的聽衆,你點擊它會創建新的

只是這應該這樣做,如果我理解你的權利:

$('#click').click(function(){ 
    localStorage.setItem('one', $('#one').val()); 
    $('#OneCopy').val(localStorage.getItem('one'); 
}); 
相關問題