以下是我的Javascript代码,其中k和m是Javascript变量。
function javascriptfunction() {
document.forms[formname].action="gotopage.php?parameter1="+k+"¶meter2="+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+"¶meter2="+m
那么当方法是HTML格式的GET时,如何使用Javascript参数提交表单?
答案 0 :(得分:6)
提交GET表单将使用表单数据替换操作中的查询字符串。
将数据放入隐藏的输入中。
答案 1 :(得分:0)
在GET请求中,除了查询参数字符串之外,表单数据无处可去。正如Quentin指出的那样,查询字符串会自动与表单字段键值对交换出来。因此,您必须使用隐藏字段来包含额外数据。
在POST请求中,您还可以使用查询参数字符串,如果您想使用它,但表单数据会被插入到请求有效负载(GET请求没有)中,因此不会干扰查询字符串。这就是为什么你可以使用你喜欢的任何查询字符串自定义动作URL。