我有两个html表单,我将输入数据从一个html表单发布到另一个html表单。我想检索在表单2上使用表单1发布的变量值。
<form name ="form1" id ="form1" method ="post" action = "form2.html>
<input id ="sendToForm2" type ="hidden" value ="send this to form2"/>
</form>
我的问题是,一旦使用javascript从表单1发布到表单2,如何在表单2上获取隐藏变量sendToForm2的值。
答案 0 :(得分:2)
您无法使用POST
方法,因为使用普通 HTML页面时,您没有HTTP标头,但HTML页面代码本身和URL(带有查询字符串)。
您可以使用GET
代替POST
,然后解析查询字符串以提取它们:
<form name ="form1" id ="form1" method ="GET" action = "form2.html>
<input id ="sendToForm2" type ="hidden" value ="send this to form2"/>
</form>
然后在您的form2.html
中,您可以使用此功能(来自SO上的this post)来解析查询字符串:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
现在(让我使用jQuery)你可以用它来访问它们:
<form ...>
<input id ="sentFromForm1" type ="hidden" value =""/>
</form>
</script>
$("#sentFromForm1").val(getParameterByName("sendToForm2"));
</script>