会话存储没有给出实际价值
Session storage not giving actual value
我正在尝试 console.log 从会话存储的输入中获取一个值,但它给了我
“[object HTMLInputElement”但不是输入的实际值怎么办?这是我的代码
let us = document.getElementById('us')
sessionStorage.setItem("user",us)
setTimeout(function() {
let h = sessionStorage.getItem("user")
console.log(h)
}, 200);
您的脚本运行正常,但 document.getElementById('us') 是 html 元素,您存储了 HTML 元素。我觉得你需要value什么的,你这样写或者改成document.getElementById('us').value或者你需要做的。
为@Huseyint said, you must use <HTMLInputElement>.value
to get the value of the input field. More info here。例如,您的代码将重写为:
const us = document.getElementById('us');
sessionStorage.setItem('user', us.value);
const h = sessionStorage.getItem('user');
console.log(h);
或者如果您想保存所有属性,您可以这样做:
const us = document.getElementById('us');
sessionStorage.setItem('user', us);
const h = sessionStorage.getItem('user').value;
console.log(h);
两者都应该有效。另外,请注意 setItem()
不是承诺,因此您不需要 setTimeout
.
希望对您有所帮助!
我正在尝试 console.log 从会话存储的输入中获取一个值,但它给了我 “[object HTMLInputElement”但不是输入的实际值怎么办?这是我的代码
let us = document.getElementById('us')
sessionStorage.setItem("user",us)
setTimeout(function() {
let h = sessionStorage.getItem("user")
console.log(h)
}, 200);
您的脚本运行正常,但 document.getElementById('us') 是 html 元素,您存储了 HTML 元素。我觉得你需要value什么的,你这样写或者改成document.getElementById('us').value或者你需要做的。
为@Huseyint said, you must use <HTMLInputElement>.value
to get the value of the input field. More info here。例如,您的代码将重写为:
const us = document.getElementById('us');
sessionStorage.setItem('user', us.value);
const h = sessionStorage.getItem('user');
console.log(h);
或者如果您想保存所有属性,您可以这样做:
const us = document.getElementById('us');
sessionStorage.setItem('user', us);
const h = sessionStorage.getItem('user').value;
console.log(h);
两者都应该有效。另外,请注意 setItem()
不是承诺,因此您不需要 setTimeout
.
希望对您有所帮助!