getElementByIdとgetElementsByNameを間違って使ってしまったので、その違いをメモしておく。
getElementById(id)はid 属性で指定した名前で要素を参照する。
getElementsByName(name)はname 属性で指定した名前で要素リストを参照する。
HTMLでid=”xxx”は1個だが、name=”xxxx”は複数定義できる。そのため、getElementsByName(name)では複数の要素を配列で取得できるようになっている。(getElementsのように複数形の場合は要素リストが得られる)
サンプル
/* getElementByIdの場合 */ var id = document.getElementById('id1'); id.value /* 変数で扱う */ /* getElementsByName */ var name = document.getElementsByName('name1'); name[0].value /* 配列で扱う */