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

Submit form with parameter through Javascript

本文关键字:参数 表单 Javascript 提交 通过      更新时间:2023-09-26

下面是我的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参数的表单呢?

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

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

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

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