从输入传递localStorage数据

时间:2019-07-23 15:40:36

标签: javascript local-storage

重新格式化的问题:我正在尝试将用户名从结帐页面传递到“已完成订单”页面。用户在id =“ v65-onepage-billfirstname”输入字段中输入他的名字。但是,下一页没有返回所需的信息。

我创建的工作示例:https://www.w3schools.com/code/tryit.asp?filename=G6A7P0HOVXD6

此外,我也不知道为什么它在jsfiddle上不起作用:https://jsfiddle.net/nandobtz/0yn6uqL3/10/

这是我现在在网站上显示的内容:

在结帐页面上:

$(document).ready(function() {
    var x = document.getElementById('v65-onepage-billfirstname').value;
    localStorage.setItem("fname", x);
});

订购完成的页面:

$(document).ready(function() {
    var x = localStorage.getItem("fname");
    document.getElementById("result").innerHTML = x;
});

HTML:

<span id='result'></span>

我需要传递用户名,这样我可以说:谢谢大卫!

谢谢。

2 个答案:

答案 0 :(得分:2)

在页面准备好时不要设置值。您需要在更新输入或提交表单时设置值。

您可以轻松地像这样:

$(document).ready(function() {
  document.getElementById("v65-onepage-billfirstname").addEventListener("input", function() {
    var x = this.value;
    localStorage.setItem("fname", x);
  });
});

答案 1 :(得分:0)

您正在加载文档时设置名称值,此时输入为空。要进行验证,您可以尝试在设置的功能中console.log(x)。为了正确设置该值,您可能需要将其保存在某些操作中,可能是在结帐完成时。为此,您可以从表单中监听onSubmit事件。