• ベストアンサー

FireFoxでは問題なくIEでは動作しない

いつもお世話になっております。 プルダウンメニューで選択した項目によって入力フォームを表示・非表示にしようと思い下記の記述をしました。 【HEAD内】 function checkradio( disp ) { document.getElementById('sample').style.display = disp; } 【BODY内のSELECT】 <option value="1" onclick="checkradio('none');">A</option> <option value="1" onclick="checkradio('block');">B</option> 【表示・非表示を切り替える部分】 <DIV id="sample" style="display:none;">~<DIV> 上記のようにするとFireFoxでは動作するもののIE6などでは動作しませんでした・・・。 対処法が御座いましたらご教授お願い致しますm(_ _)m

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

じゃぁ、なんか適当なパラメータで渡してみては? <script> function checkradio(obj) { var disp=obj.options[obj.selectedIndex].getAttribute("alt"); document.getElementById('sample').style.display = disp; } </script> <select onchange="checkradio(this)"> <option value='1' alt='none'>A</option> <option value='2' alt='block'>B</option> </select> <DIV id="sample" style="display:none;">~<DIV>

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

optionにonclickを使っている理由はなにかありますか? 深い意味がないなら以下のようにselectに設定しましょう <script> function checkradio( disp ) { document.getElementById('sample').style.display = disp; } </script> <select onchange="checkradio(this.value )"> <option value='none'>A</option> <option value='block'>B</option> </select> <DIV id="sample" style="display:none;">~<DIV>

news_0203
質問者

お礼

ご回答ありがとう御座いました。 valueの値に1,2、というように数字を振りたいのですがこの場合はどのように対処すればよろしいでしょうか?

  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

どうやらIEだとoption要素でonclickイベントは使えないようです。 (例えばonclickにalertなどを入れても何も反応がないです。) 仕方ないのでselect要素の方のonclickイベントを使って 関数の中で選択されているオプションを調べて場合分けしてみてはどうでしょう。

news_0203
質問者

お礼

ご回答ありがとう御座いました。 SELECT側に入れたところ正常に動作しましたが、value="none"などとした結果、POSTで送信後もその選択肢の値が「none」になってしまいますよね・・・? これを別に指定することは可能でしょうか?

関連するQ&A