我在 append 多个输入时遇到问题。我正在阅读一个包含项目和值的列表,并希望通过 Javascript (POST) 提交它们,但我不明白为什么这不起作用。我尝试了多种方法,最后我想出了这个,但它不想迭代它并抛出错误:
var form = document.createElement("form");
form.action = "submitform.php";
form.method = "post";
form.target = "_blank";
input = [];
var kvarray = document.getElementsByClassName('ua_mattext');
for (var i = 0; i < kvarray.length; i++) {
var fieldname = kvarray[i].id;
var fieldvalue = kvarray[i].value;
input[i] = "input_" + i;
document.createElement(input[i]);
input[i].type = "hidden";
input[i].name = fieldname;
input[i].value = fieldvalue;
form.appendChild(input[i]);
}
document.body.appendChild(form);
form.submit();
我做错了什么?
最佳答案
我自己想出来了。首先,我没有正确声明 input
变量(忘记了开头的“var”)
其次,我没有将 document.createElement()
设置为输入。
第三,我将输入命名为 input_1
、input_2
,这是无效的。只有一个,那就是input
。
所以,现在它可以工作了。下面是更正后的代码:
var form = document.createElement("form");
form.action = "submitform.php";
form.method = "post";
form.target = "_blank";
var input = [];
var kvarray = document.getElementsByClassName('ua_mattext');
for (var i = 0; i < kvarray.length; i++) {
var fieldname = kvarray[i].id;
var fieldvalue = kvarray[i].value;
input[i] = "input_" + i;
input[i] = document.createElement("input");
input[i].type = "hidden";
input[i].name = fieldname;
input[i].value = fieldvalue;
form.appendChild(input[i]);
}
document.body.appendChild(form);
form.submit();
关于javascript - 在 Javascript 中追加多个输入以提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409347/