如何从javascript中动态创建的输入框中获取值

如何从javascript中动态创建的输入框中获取值,javascript,dom,Javascript,Dom,在这里,我编写了一些代码,用于使用javascript从动态创建的输入框中获取值 下面是设定值的代码: for(var i=0;i<result.studentlist.length;i++){ var addtxt = document .createElement("input"); addtxt.typ

在这里,我编写了一些代码,用于使用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;

}            
实际上附加了两个入场号码

但是,当我在那个时候获得价值时,只有第一个价值出现了


请告诉我一个想法。

文档。getElementById(“admissionno”)
将始终为您提供单个元素,因为ID是唯一的,并且函数还返回单个DOM元素


相反,您应该添加类并像使用
document.getElementByClassName(“classname”)
那样使用它们。它将返回一个节点列表,您可以通过该列表进行迭代。

我将把输入元素放在一个表单中,以便同时获得多个值。 另外,如果我没有弄错的话,您正在用代码创建重复的id。 你想要的是:

document.getElementsByName("admissiono")
此方法返回一个可以迭代的元素数组。 或者,您可以通过以下方式访问某些位置:

document.getElementsByName("admissiono")[0].value

参数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;
} 

for(var i=0;iHTML元素id应该是唯一的。我想你应该先给元素不同的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+" ";
}