2014-08-30 62 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'); 
}); 
相关问题