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