2

問題に似た投稿をいくつか見て、提供された解決策を試しましたが、IE8とIE9および「selectedIndex」でまだ問題が発生しています。このコードは、変数answerSubmittedを「undefined」として返します。

var answerSubmitted = document.getElementById("DropDown-Answers").selectedIndex;

上記は他のすべてのブラウザで完全に機能します。ここの別の投稿に基づいて、私もこれを試しました:

var answerSubmitted = document.getElementById("DropDown-Answers").value;

それでも同じ結果-他の場所では機能しますが、IE8またはIE9では機能しません。IEがその特定の要素をIDで認識していることを確認しました。

ここに何かガイダンスはありますか?

詳細: ループを通過し、オプションタグと/ optionタグの間に可変テキストを追加することで、ドロップダウンメニューを動的に作成しています(「tempRandom」はループを通過するたびに更新される乱数であることに注意してください)。

tempMenuText = tempMenuText + "<option>" + Answers[tempRandom] + "</option>";     

結果はselectタグのフォームで囲まれ、要素のinnerHTMLを更新します。これが機能し、機能するドロップダウンメニューが生成されます。しかし...おそらくこれが手がかりです。メニュー要素のinnerHTMLを使用してテストを別の要素に入れて表示すると、空として表示されます。IEは、要素にHTMLが含まれていることを認識しておらず、それがnullであると見なしているため、「selectedIndex」はnullとして失敗します。

4

1 に答える 1

-1

これは解決されました。選択したアイテムのIDを参照する方法に誤りがあったことがわかりました。あるアソシエイトは、.selectedIndexは(少なくともIEでは)「select」タグ内のIDが正しい場合にのみ機能すると説明しました。そうでない場合は、元々起こっていたnullを返します。今はすべて順調です。提案をありがとう。

于 2012-11-09T00:12:33.723 に答える