Javascript 如何将动态添加的InputBox的值添加到数组中?
我最多创建8个动态输入框,每次单击一个。我想将它们的值存储在数组中,如果我添加了4个按钮,则将4个值存储到数组中并在警报中显示;如果我添加了5个值,则将5个值存储到数组中并在警报中显示。到目前为止,我所做的是: Javascript:Javascript 如何将动态添加的InputBox的值添加到数组中?,javascript,arrays,Javascript,Arrays,我最多创建8个动态输入框,每次单击一个。我想将它们的值存储在数组中,如果我添加了4个按钮,则将4个值存储到数组中并在警报中显示;如果我添加了5个值,则将5个值存储到数组中并在警报中显示。到目前为止,我所做的是: Javascript: function show(){ var data = []; for(fieldValue=1;fieldValue<=8;fieldValue++){ var input = document.getElementById('input
function show(){
var data = [];
for(fieldValue=1;fieldValue<=8;fieldValue++){
var input = document.getElementById('input - '+fieldValue).value;
data.push(input);
}
alert(data);
}
它将ID设置为input-1、input-2等。。提前谢谢。您正在从1循环到8
function show() {
var data = [];
for (fieldValue = 1; fieldValue <= 8; fieldValue++) {
var input = document.getElementById('input - ' + fieldValue);
if (inpt) {
input = input.value;
data.push(input);
}
}
alert(data);
}
如果您添加的输入框少于8个,比如说5个,那么document.getElementById'input-'+fieldValue在某个时候将返回null,因为文档中不会有id为'input-6'的元素
为了保护代码的安全,在尝试检索数据之前,必须检查document.getElementById'input-'+fieldValue是否不为null
function show(){
var data = [];
for(fieldValue=1;fieldValue<=8;fieldValue++){
var input = document.getElementById('input - '+fieldValue);
if (input != null)
data.push(input.value);
}
alert(data);
}
正如人们提到的,即使没有8个输入元素,您也要迭代8次。使用类选择器和jQuery并对共享该类的每个元素进行迭代会容易得多 功能表演{ var数据=[]; $.each$'.input item',functionkey,val{ data.push$val.val; } 警报数据; } 点击我
我不知道您显示的是工作代码还是中断代码,但无论哪种方式,您都需要提供一个完整的示例来显示HTML。创建输入时,添加一个唯一的类,然后使用document.getElementsByClassNameuniqueClassName和in-loop获取元素,检查返回元素的长度,而不是8在循环中使用8,您应该检查添加了多少输入。如果将添加的元素设置为特定类,则可以使用document.getElementsByClassname直接获取输入列表。@spanky它有效且正在运行。另外,如果问题只存在于一个函数中,则无需添加完整的代码:Javascript是我的项目的基本要求,感谢您的回答:@HaseebHassy很高兴提供帮助!
function show(){
var data = [];
for(fieldValue=1;fieldValue<=8;fieldValue++){
var input = document.getElementById('input - '+fieldValue);
if (input != null)
data.push(input.value);
}
alert(data);
}