JavaScript将表单值传递到新页面
我们将在登录页上为受访者提供两个级别的问题 在一个页面上,他们将使用复选框选择最多四个感兴趣的曲目:选中,选中,选中,选中,单击下一步 在下一页,他们将选择一个选项,这就是表单提交的地方。我需要能够捕获第一页上的复选框选择,以便我可以将它们拉到表单页面上的字段中JavaScript将表单值传递到新页面,javascript,jquery,Javascript,Jquery,我们将在登录页上为受访者提供两个级别的问题 在一个页面上,他们将使用复选框选择最多四个感兴趣的曲目:选中,选中,选中,选中,单击下一步 在下一页,他们将选择一个选项,这就是表单提交的地方。我需要能够捕获第一页上的复选框选择,以便我可以将它们拉到表单页面上的字段中 我最初的想法是当用户选择一个复选框时,它被存储到一个数组中,然后作为查询字符串传递到下一页。然后,该页面读取查询字符串并将其添加到隐藏字段?非常感谢您的建议/指导。查询字符串将是您的最佳选择。如果信息不存在安全风险,则很容易从那里获取所
我最初的想法是当用户选择一个复选框时,它被存储到一个数组中,然后作为查询字符串传递到下一页。然后,该页面读取查询字符串并将其添加到隐藏字段?非常感谢您的建议/指导。查询字符串将是您的最佳选择。如果信息不存在安全风险,则很容易从那里获取所有数据 你可以这样做:
www.example.com/home.aspx?questiona=true
然后您可以使用javascript读取它
在页面加载时调用该函数,并传入您要使用的名称,即
getQueryStringValue('questiona');
function getQueryStringValue(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
var answer = results === null ? "" :
decodeURIComponent(results[1].replace(/\+/g, " "));
alert(answer);
}
您还可以将数据存储在cookie
中,这样也可以工作
你也可以在一个页面上,为什么你需要重新加载页面?您可以在用户每次单击UI时对其进行操作
其余的方法意味着您必须将其存储在服务器端,并将其返回到新页面上
我建议通过查询字符串,它可以更快、同样好地完成这项工作。@JoshStevens是正确的,url参数很可能是解决问题的方法。如果因为数据是敏感的而不能选择此选项,您可以查看以在页面之间临时存储数据。是否必须是两个页面?您仍然可以在一个页面上显示/隐藏内容-根据初始内容选择拉动态内容。这样,您可以将所有字段都放在一个表单中。您只需有选择地适当显示内容
<form>
<div id="step1">step1 content</div>
<div id="step2">step2 content</div>
</form>
步骤1内容
步骤2内容
如果您计划只使用JavaScript和两种不同的布局,那么您所考虑的解决方案是不错的。如果两个页面的布局相同。您可以有条件地隐藏和显示表单的必填字段。是的,我同意会话存储是个好主意。。一块饼干也可以做这项工作。