• 締切済み

なぜgetElementsByNameとgetElementsByIdでセレクトボックスを参照できないでしょうか

初心者ですが、getElementsByNameとgetElementsByIdの使い方はよくわかりません。知っている方がいらっしゃいましたらぜひご教授ください。 下記のソースなんですが、なぜ var arrayObj1 = document.getElementsByName("bsListName"); var arrayObj2 = document.getElementsById("bs"); というふうにセレクトボックス要素を参照することができなくて、javasciptエラーが出てしまう。 もし var arrayObj1 = document.getElementsByName("bsListName"); var arrayObj2 = document.getElementsById("bs"); この2行のソースを削除したら、javasciptエラーがなくなります。 つまり、なぜかgetElementsByNameとgetElementsByIdでセレクトボックスを参照できないでしょうか <html> <head> <script type="text/javascript"> function refleshNewListName(){ var arrayObj = document.myform.bsListName ; var arrayObj1 = document.getElementsByName("bsListName"); var arrayObj2 = document.getElementsById("bs"); alert(arrayObj.selectedIndex); } </script> </head> <body> 1122 <form name="myform"> <div id="bs"> <select name="bsListName" onChange="refleshNewListName()" > <option value="-1" selected>--新規リスト--</option> <option value="10720" class="my_list">Myリスト</option> <option value="10721" class="recent_sales_list">常用リスト</option> </select> </div> </form> </body> </html>

みんなの回答

回答No.1

両方同時に指定しないと再現しない のか getElementsByIdだけの状態で再現する のか getElementsByNameだけの状態で再現する のか、ちゃんと調査してくれ。 ======================================== 俺の環境(MinefieldではgetElementsByIdの方だけでエラーが出ている。) 理由はもちろんgetElementByIdだから。Element【s】ByIdじゃない。 getElementsByNameは複数形でOK

関連するQ&A

専門家に質問してみよう