• ベストアンサー

オブジェクトを指定しても「Nullまたはオブジェクトではありません」となってしまう

Webページ作成にて、セレクトボックスを選択した時に選択内容によって、 同フォーム内にある特定のラジオボタンを無効にする処理を組んでいます。 セレクトボックスの[onChange]イベントに下記の[selectChange()]が 動くように記述しているのですが、どうしても 「Nullまたはオブジェクトではありません」とエラーとなってしまいます。 オブジェクト名のタイプミスなども含め何度も見直しましたが間違いありませんでした。 ちなみに、この関数と同じ場所に、ロールオーバーイメージをプリロード させる関数も記述しているのですがそちらは問題なく動いています。 (DreamWeaverが生成してくれるものですが・・) 原因として何が考えられるでしょうか。 分かる方お力をお貸し下さい。 //特定のラジオボタンを無効にする関数 function selectChange() { var selectedNum = document.FormName.SelectBox.selectedIndex; if(selectedNum == 1) { document.FormName.RadioButton[0].disabled = false; document.FormName.RadioButton[3].disabled = true; document.FormName.RadioButton[4].disabled = true; } else if(selectedNum >= 2){ document.FormName.RadioButton[0].disabled = true; document.FormName.RadioButton[3].disabled = false; document.FormName.RadioButton[4].disabled = false; } } //セレクトボックスの記述 <select name="SelectBox" onchange="selectChange()"> <option value=""></option> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> </select>

質問者が選んだベストアンサー

  • ベストアンサー
  • Masa333
  • ベストアンサー率43% (10/23)
回答No.1

エラーがでているオブジェクトはセレクトボックスですか? selectChange()関数には セレクトボックス、ラジオボタンの2つのオブジェクトがありますが、 ラジオボタンのエラーかもしれません。 エラーの原因として思いつくのは下記4点です。 もう一度確認してみてください。 1)オブジェクト名の間違い(綴り、重複) 2)フォーム名の間違い(綴り、重複) 3)フォームの設定が正しいかどうか  <form> </form> フォームタグの間にオブジェクトが記述されているか 4)プロパティの間違い  オブジェクトに存在しないプロパティを使用した場合など

SOU48
質問者

補足

ありがとうございます。 selectChange関数の1行目「document.FormName.SelectBox.selectedIndex」にて エラーが出ています。 いったいどうしてでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

ふぅ。。。理解するのに数分かかりましたが。。。 これで全てってわけじゃないと思いますが。。。足りない部分のプログラム補足願います。 とりあえず、自分の方じゃエラーは出ませんでしたよ。 足りない部分勝手に作りましたけど。 //特定のラジオボタンを無効にする関数 function selectChange() { var selectedNum = document.FormName.SelectBox.selectedIndex; if(selectedNum == 1) { document.FormName.RadioButton[0].disabled = false; document.FormName.RadioButton[3].disabled = true; document.FormName.RadioButton[4].disabled = true; } else if(selectedNum >= 2){ document.FormName.RadioButton[0].disabled = true; document.FormName.RadioButton[3].disabled = false; document.FormName.RadioButton[4].disabled = false; } } <form name ="FormName"> <!--セレクトボックスの記述--> <select name="SelectBox" onchange="selectChange()"> <option></option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type ="radio" name ="RadioButton" value ="0"> <input type ="radio" name ="RadioButton" value ="1"> <input type ="radio" name ="RadioButton" value ="2"> <input type ="radio" name ="RadioButton" value ="3"> <input type ="radio" name ="RadioButton" value ="4"> </form>

すると、全ての回答が全文表示されます。

関連するQ&A