这里我编写了一些代码,用于使用javascript
从动态创建的输入框中获取值以下是设置值的代码:
for(var i=0;i<result.studentlist.length;i++){
var addtxt = document
.createElement("input");
addtxt.type = "text";
addtxt.name = "admissionno" ;
addtxt.id = "admissionno" ;
addtxt.value = result.studentlist[i].admissionno;
}
获得目的写在代码下面:
var admissionNumber=document.getElementById("admissionno").value;
实际上附加了两个入场号码。
但是,当我在那个时候获得价值时,只会有第一个值。
请给我一个主意。
答案 0 :(得分:1)
document.getElementById("admissionno")
将始终为您提供单个元素,因为ids是唯一的,并且该函数还返回单个DOM元素。
您应该添加类,并像document.getElementByClassName("classname")
一样使用它们。它将返回一个节点列表,您可以通过它进行迭代。
答案 1 :(得分:1)
参数ID必须是唯一的。解决方案将是:
代:
for(var i=0;i<result.studentlist.length;i++){
var addtxt = document.createElement("input");
addtxt.type = "text";
addtxt.name = "admissionno" ;
addtxt.id = "admissionno"+i ;
addtxt.value = result.studentlist[i].admissionno;
}
收集数据(假设您想要将所有数据放在一起):
var inputs=document.getElementsByName("admissionno");
var admissionNumber="";
for (var j=0;j<inputs.length;j++) {
admissionNumber+=inputs[j].value+" ";
}
答案 2 :(得分:0)
我会将输入元素放在一个表单中以同时获取多个值。 此外,如果我没有弄错你正在用你的代码创建重复的id。 你想要的是:
document.getElementsByName("admissiono")
此方法返回一个可以迭代的元素数组。 或者您可以通过以下方式访问某些职位:
document.getElementsByName("admissiono")[0].value
答案 3 :(得分:0)
HTML元素id应该是唯一的。我想你应该首先给元素赋予不同的ID。然后获取它们的每个值。