如何从javascript中动态创建的输入框中获取值
How to get values from dynamically created input box in javascript
这里我编写了一些代码,用于使用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;
实际上附上了两个入场号。
但是,当我得到价值的时候,只有第一个价值来了。
请给我一个主意。
document.getElementById("admissionno")
将始终为您提供单个元素,因为id是唯一的,并且函数还返回单个DOM元素。
您应该添加类,并像document.getElementByClassName("classname")
一样使用它们。它将返回一个节点列表,您可以通过该列表进行迭代。
参数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+" ";
}
我会把输入元素放在一个表单中,以便同时获得多个值。此外,如果我没有错的话,你正在用你的代码创建重复的id。你想要的是:
document.getElementsByName("admissiono")
这个方法返回一个可以迭代的元素数组。或者您可以使用访问某些位置
document.getElementsByName("admissiono")[0].value
HTML元素id应该是唯一的。我想你应该先给元素不同的id。然后获取它们的每个值。
相关文章:
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 输入字段将't获取更新的值
- 如何从客户端的数组中获取用户输入和返回值
- 在数据库中循环值时,为输入框获取唯一值
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用html/html5中的用户输入获取完整的地理位置详细信息
- 使用 D3 中用户的输入获取值
- 我如何使用javascript并根据提供的输入获取JSON数据
- 提前输入获取远程数据问题
- 根据递归ul中的输入获取一个表单的序列化数组
- 正在尝试根据用户输入获取总额
- Emberjs:从输入获取数据
- 从任意数量的输入获取JavaScript对象
- 在鼠标输入获取下拉元素的焦点
- 如何使用javascript或jquery为新表单输入获取更新的json文件
- 通过用户输入获取变量
- 我如何从html输入获取属性值
- 另一个选项更直接地从td中的输入获取title属性
- 从命令行输入获取完整的iframe url,并从python变量解析为HTML
- AngularJS FORMs:根据前面的输入获取第二个SELECT BOX的Items