2017-10-06 7 views
0

を読んで、私は複数の入力フィールドを持つフォームがあります。JavaScriptがフォーム項目の読書リスト

<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

HTML構造を投稿します。 –

+0

関連する 'HTML'をインクルードし、これまでに試したことを表示できますか?ありがとうございました。 – NewToJS

+0

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} AngelDeLaNoche

答えて

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

+0

'name =" abc "'も選択していませんか? – 11thdimension

+0

@ 11次元であれば、それはOPの構造です。 –

+0

OPのフォーマットは数字で表現されたもので、何でもないので – 11thdimension

0

あなたが 'ID' 同様に属性 '名前' を同様に追加することによってこれを行うことができ、

HTML

<input id="name1" name="name1"> 
<input id="name2" name="name2"> 

Javascriptを

01あなたは次のようにJavaScriptのバニラでそれを取得することができ、フォームの構造を知らなくても
var formData = []; 

for(var i=1 ; i<length; i++){ 
    formData.push($('#name'+i).val()); 
} 
+1

jQueryタグのない質問はvanilla JSで答えてください。 –

0

:idを想定すると

var arr = []; 

var currentElementIndex = 1; 
while(document.getElementsByName('a'+currentElementIndex)) { 
    arr.push(document.getElementsByName('a'+currentElementIndex).value); 
    currentElementIndex++; 
} 

は> = 1と連続しています。