2つのチェックボックスが無効になっているHTMLフォームとonclick
、ポップアップを表示してチェックボックスを有効にする必要があるイベントを含む画像があります。
<input id="chk1" type="checkbox" disabled="disabled" />
<input id="chk2" type="checkbox" disabled="disabled" />
<img src="..." onclick="window.open('...'); document.getElementById('chk1').disabled=false;document.getElementById('chk2').disabled=false" />
それが機能しないことを除いて。ポップアップウィンドウが開きますが、チェックボックスが有効になることはありません。
代わりにdisabled=false
私はremoveAttribute("disabled")
運が悪かった。window.open
また、を変更せずに最後のステートメントとして配置しましたonclick
。
jQueryは(まだ)このプロジェクトに含まれていないため、使用できません。私は何が間違っているのですか?
編集:
これを投稿したとき、input
タグがASP.NETによってレンダリングされていることを開示できませんでした。テストを通じて、IEとFFでのプロパティの動作に影響を与える使用<asp:CheckBox />
との違いがあることがわかりました。<input type="checkbox" runat="server" />
disabled
最終的な出力は同じだろうという印象を受けましたが、違いを見つけることはできませんでしたが、明らかにそうではありませんでした。上記のようにレンダリングされたコードは、CheckBoxオブジェクトを使用する場合はFFで機能しますが、IEでは機能しませんが、HtmlInputCheckBoxオブジェクトを使用する場合は両方で機能します。
getElementById
(また、呼び出しは実際にはそれぞれの要素にASP.NET ClientIDプロパティを使用していることも指摘しておく必要があります。)
それでは、私の質問は、なぜこれが当てはまるのかということです。HtmlInputCheckBoxオブジェクトを使用しているのに、CheckBoxオブジェクトでは機能していないのに、IEとFFの両方で有効化/無効化機能が機能するのはなぜですか?