我有一个包含多个输入字段的表单:
<input name="a1"/>
<input name="a2"/>
<input name="a3"/>
所有字段名称都相同,附加数字。
我需要JavaScript才能将这些值读入数组。
for i = 1 to 3
a(i) = form(i)
next
完整代码:
var listC = [ "C", "A", "B" ];
a1 = form.a1.value;
a2 = form.a2.value;
a3 = form.a3.value;
if (listC[0] == a1.toUpperCase()) {
NumCorrect = NumCorrect + 1
}
if (listC[1] == a2.toUpperCase()) {
NumCorrect = NumCorrect + 1
}
if (listC[2] == a3.toUpperCase()) {
NumCorrect = NumCorrect + 1
}
<input type="text" size="2" name="a1" size="2"/>
<input type="text" size="2" name="a2" size="2"/>
<input type="text" size="2" name="a3" size="2"/>
答案 0 :(得分:2)
不确定这是不是你想要的。
var a = [],
inputs = document.querySelectorAll('[name^="a"]');
[].forEach.call(inputs, function(input){
a.push(input.value);
});
console.log(a);
<input name="a1" value="a111"/>
<input name="a2" value="a222"/>
<input name="a3" value="a333"/>
答案 1 :(得分:0)
您可以通过添加'id'属性类似'name'来实现这一点,
<强> HTML 强>
<input id="name1" name="name1">
<input id="name2" name="name2">
<强>的Javascript 强>
var formData = [];
for(var i=1 ; i<length; i++){
formData.push($('#name'+i).val());
}
答案 2 :(得分:0)
在不知道表单结构的情况下,您可以使用vanilla javascript检索它,如下所示:
var arr = [];
var currentElementIndex = 1;
while(document.getElementsByName('a'+currentElementIndex)) {
arr.push(document.getElementsByName('a'+currentElementIndex).value);
currentElementIndex++;
}
假设id为&gt; = 1且顺序。