通过Javascript提交带有参数的表单

时间:2013-07-22 13:49:53

标签: javascript

以下是我的Javascript代码,其中k和m是Javascript变量。

function javascriptfunction() {
  document.forms[formname].action="gotopage.php?parameter1="+k+"&parameter2="+m;
  document.forms[formname].submit();
}

当我的HTML表单有POST方法时,上面的代码正确执行。以下是我的HTML页面:

<form name="formname" action=# method=POST>
  <input type=text name="data1" value="one">
  <input type=text name="data1" value="two">
  <input type=button name="button1" value="send" onclick="javascritfunction();">
</form>

但是当我在HTML表单中提供GET方法时,就会提交HTML表单数据,即

gotopage.php?data1=one&data2=two is submitting not Javascript action value i.e
gotopage.php?parameter1="+k+"&parameter2="+m

那么当方法是HTML格式的GET时,如何使用Javascript参数提交表单?

2 个答案:

答案 0 :(得分:6)

提交GET表单将使用表单数据替换操作中的查询字符串。

将数据放入隐藏的输入中。

答案 1 :(得分:0)

在GET请求中,除了查询参数字符串之外,表单数据无处可去。正如Quentin指出的那样,查询字符串会自动与表单字段键值对交换出来。因此,您必须使用隐藏字段来包含额外数据。

在POST请求中,您还可以使用查询参数字符串,如果您想使用它,但表单数据会被插入到请求有效负载(GET请求没有)中,因此不会干扰查询字符串。这就是为什么你可以使用你喜欢的任何查询字符串自定义动作URL。