JavaScript阅读表单项的阅读列表

时间:2017-10-06 21:13:20

标签: javascript arrays forms loops

我有一个包含多个输入字段的表单:

<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"/>

3 个答案:

答案 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且顺序。