如何使用javascript从发布的html表单中获取值

时间:2014-03-24 12:21:30

标签: javascript html

我有两个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的值。

1 个答案:

答案 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>