- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptがIEで機能しない)
JavaScriptでIE上での機能不具合の修正方法
このQ&Aのポイント
- JavaScriptを使用した表示非表示の処理において、Firefox3.6では正常に動作していましたが、IE8上で選択1を選ぶと表示が非表示のままになります。修正方法を教えてください。
- Firefox3.6では問題なく動作していたJavaScriptによる表示非表示の処理が、IE8では選択1を選んでも非表示のままです。どこを修正すれば良いでしょうか?
- JavaScriptを使用して選択肢によって表示非表示を切り替える処理を行っていますが、IE8では選択1を選択しても表示が非表示のままです。修正方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字コードはUTF-8になっていますか? valueではなくtextにすればどうでしょうか? <option>にvalue属性を付与して、そちらで判断してみてはどうでしょうか?
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
回答No.2
私の環境ではfx3.6でも動きませんね。 原因は >selectvalue = document.form1.select1.options[form1.select1.selectedIndex].value; の2番目のform1で要素の特定ができないようです。 IEの方は、HTMLのoptionにvalueが設定されていないのでvalue値がとれていない(→ ""として評価されている)ためと思われます。 両方を満たすために、optionにvalueを設定して、 <option value="selection1">選択1</option> <option value="selection2">選択2</option> function view_ctrl() { var selectValue = document.forms["form1"].elements["select1"].value; document.getElementById("block1").style.display = (selectValue=="selection1")?"block":"none"; } みたいにするとどうでしょうか?
質問者
お礼
ありがとうございます。 value属性を持たせてないことが原因と解決に至りました。 御指南感謝します。
お礼
早速の回答ありがとうございました。 value属性を持たせたら一発で解決できました。 POSTなどで送った場合、value属性なしなら自動的に値を取ってくれるので、javascript上でもそうなるものと勝手に思いこんでおりました。 ありがとうございました。