我试图将用户写入的任何内容保留在输入字段内,输入字段即使在输入窗口关闭后又有人重新打开它。 例如: 我在“输入”字段中键入“hello”,然后关闭窗口。当我重新打开窗户时,我希望再次在现场看到“你好”。
有办法做到这一点吗?
非常感谢,非常感谢任何帮助!
答案 0 :(得分:1)
您可以使用 Window.localStorage 来存储字符串化的JSON,例如
{
"name" : "John",
"surname" : "Doe",
"message" : "Hello, World!"
}
其中name
,surname
和message
是实际的元素name="***"
属性。
jsFiddle demo (输入一些值并刷新页面)
// Get Object literal from LocalStorage
let memory = JSON.parse(localStorage.memory || "{}");
// Loop input elements on page
[...document.querySelectorAll('input, textarea')].forEach( el => {
// prepopulate from memory
if ( el.name in memory ) {
el.value = memory[el.name]
}
// save to memory
el.addEventListener("input", () => {
memory[el.name] = el.value;
localStorage.memory = JSON.stringify(memory);
});
});