会话存储没有给出实际价值

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.

希望对您有所帮助!