我最多创建 8 个动态输入框,单击时一次创建一个。我想以这样的方式将它们的值存储在一个数组中,如果我添加了 4 个按钮,将 4 个值存储到数组中并在警报中显示它们,如果我添加了 5 个值,则将 5 个值存储到数组中并在警报中显示它们等. 到目前为止我所做的:
Javascript:
function show(){
var data = [];
for(fieldValue=1;fieldValue<=8;fieldValue++){
var input = document.getElementById('input - '+fieldValue).value;
data.push(input);
}
alert(data);
}
如果我添加了所有 8 个输入框,它只会提醒输入框的值,否则它会显示“无法读取 null 的属性‘值’”。编辑:我将这些输入框的 ID 作为(部分)提供:
var inputField = document.createElement('INPUT');
inputField.id = 'input - '+fieldValue;
fieldValue++;
它将 ID 设置为输入 - 1、输入 - 2 等等.. 提前致谢。
您正在从 1 循环到 8。
如果您添加的输入框少于 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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句