2011-02-03 6 views
0

これに関連する多くの質問があり、それを読んでいると私はこれがgetElementByIdの問題であると推測しているので、他の人の質問では問題と思われるので、私が間違っていたことは全くわかりません。FirefoxとIEのJavascriptの問題

<SELECT id="squestion1" name="selectQuestion" onchange="updateSQ();">
<OPTION value="notChosen">--Please Select One--</OPTION> <OPTION value="in">India</OPTION> <OPTION value="de">Germany</OPTION>:この関数は、動的に生成されたHTML selectタグによって呼び出され

function updateSQ() { 
     var sQuestion = document.getElementById('<%=sQuestion.ClientID%>'); 
     sQuestion.value = ""; 
     var questions = document.getElementsByName('selectQuestion'); 
     for (question in questions) { 
      if (questions[question].value != null) 
          sQuestion.value += questions[question].value + ","; 
     } 
     alert(sQuestion.value); 
    } 

:エラーコンソールにメッセージなしでFirefoxとFirebugのでは、次の作品は、正しい値を表示します
<OPTION value="fr">France</OPTION>
<OPTION value="us">United States</OPTION>
012あなたが見ることができるように、JavascriptをASP.NETコントロールの値を更新しようとしている
</SELECT>

<asp:HiddenField ID="sQuestion" runat="server" value="" />

アイデアはとき選択の変更、それはJSを呼び出し、保存するということですすべてのselectステートメントの値をASP.NETコントロールに追加します(煩わしい一連の要件と、以前に使用したことがあったレガシーコードのための厄介な回避策)。

ファイアウォールで最終的な警告が表示されますが、IE7では正しいタグを見つけられないというアイデアをサポートする空の文字列です。どんな入力も大歓迎です。ありがとうございました。

+0

このコードはasp.netコントロールで置き換えられ、textareaは両方で動作します – www0z0k

答えて

1

私はあなたの問題はgetElementsByName

であると思いJavascriptを DOMを使用して作成したHTML要素が IEで document.getElementsByName法ではアクセスできません。

次のGoogleクエリを試してみて、このテーマに関するバグレポートや不満の過多を参照してください。)

http://www.google.dk/search?sourceid=chrome&ie=UTF-8&q=getElementsByName+ie

1

IEでgetElementsByNameない戻り値Arrayが、リターンが

for (var question = 0; question < questions.length; question ++) 
使用オブジェクト

の代わりに

for (question in questions) 
関連する問題