重新格式化的问题:我正在尝试将用户名从结帐页面传递到“已完成订单”页面。用户在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>
我需要传递用户名,这样我可以说:谢谢大卫!
谢谢。
答案 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
事件。