ここに長い質問を投稿しましたフォーム検証多次元選択ボックス
短い問題は、ユーザーがデータ入力用に複数の行を追加できるようにしていることです。各行には
<select name="color[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
選択ボックスが3つある場合は、を使用してその長さを取得でき、frm["color[]"].length
3を返します。
ただし、選択ボックスが1つしかない場合はfrm["color[]"]
、選択からいくつかのオプションが返され、4が返されます。
編集
使用document.getElementsByName("color[]")
し、それは動作しました。ありがとうkolink、
colors= document.getElementsByName("colors[]").length;
console.log(colors); // print proper numbers now
for(i=0; i<colors; i++){
dd = frm["colors["+i+"]"].value; // <- how to check value
console.log(dd);
k = i+1;
var subColors = document.getElementsByName("colors["+k+"][]").length
}
選択ボックスから選択したオプションの値を取得する方法