我想要做的是当我在输入中typed
或selected
时,如果我刷新页面,它仍会保留值。
当前输出:http://jsfiddle.net/5kcsn/71/
脚本:
document.querySelector('#fname, #lname, #email, #reemail, #password, #gender, #bmonth, #bday, #byear').innerHTML = "";
var save = document.createElement('input,select');
document.querySelector('#fname, #lname, #email, #reemail, #password, #gender, #bmonth, #bday, #byear').appendChild(save);
if (!save.value) {
save.value = window.localStorage.getItem('value');
}
save.addEventListener('keyup', function () {
window.localStorage.setItem('value', save.value);
}, false);
答案 0 :(得分:1)
在document.ready
之上添加以下事件处理程序,当任何字段值更改并在localStorage
中存储值时将调用该事件处理程序。
(填写数据并单击演示页面中的运行将重新加载,但数据将保持不变)
$('#fname, #lname, #email, #reemail, #password, #gender, #bmonth, #bday, #byear').on("change", function () {
localStorage.setItem($(this).attr("id"), $(this).val())
});
以下代码将从页面加载时的localStorage
恢复值
$('#fname, #lname, #email, #reemail, #password, #gender, #bmonth, #bday, #byear').each(function (ind, val) {
if ($(val).attr("id") != "gender") {
$(val).val(localStorage.getItem($(val).attr("id")))
}
else {
if (localStorage.getItem($(val).attr("id")) == "male")
$("#gender[value=male]").prop("checked", true);
else
$("#gender[value=female]").prop("checked", true);
}
});