document.createElement Form仅传递第一个值

时间:2016-10-11 17:59:07

标签: javascript forms post

我面临一个奇怪的问题。我试图用javscript创建一个表单,它通过POST提交数据,但只有第一个值传递给下一页。

var form = document.createElement("form");
form.action = "print_order.php";
form.method = "post";

input = document.createElement("input");
input2 = document.createElement("input2");

input.type = "hidden";
input2.type = "hidden";

input.name = "product_id";
input.value = "000123";
form.appendChild(input);

input2.name = "prod_order";
input2.value = "000456";
form.appendChild(input2);

document.body.appendChild(form);
form.submit();

在我的实现中,脚本执行,将我重定向到下一页,然后只有第一个值(product_id =" 000123")得到一个值超过post,下一个是空白。为什么呢?

2 个答案:

答案 0 :(得分:2)

document.createElement('input2')

是问题所在。该API接受标记的名称。 “input2”不是有效的HTML标记。该行应该是

input2 = document.createElement("input");

答案 1 :(得分:2)

没有input2你的变量名是input2但输入了元素。

input = document.createElement("input");
input2 = document.createElement("input");