我有一个带有两个禁用复选框的 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")
没有运气。我还将 thewindow.open
作为最后一条语句放置在onclick
没有变化的情况下。
jQuery 不在这个项目中(还)所以我不能使用它。我究竟做错了什么?
编辑:
当我发布这个时,我没有透露这些input
标签是由 ASP.NET 呈现的。通过测试,我们发现使用<asp:CheckBox />
和<input type="checkbox" runat="server" />
影响disabled
属性在 IE 和 FF 中的行为方式之间存在差异。
我一直认为最终的输出是相同的,但显然不是,尽管我无法发现差异。上面呈现的代码在使用 CheckBox 对象时适用于 FF 但不适用于 IE,但在使用 HtmlInputCheckBox 对象时适用于两者。
(我还应该指出,这些getElementById
调用实际上是对各个元素使用 ASP.NET ClientID 属性。)
那么,我现在的问题是,为什么会这样?为什么在使用 HtmlInputCheckBox 对象而不是 CheckBox 对象时,启用/禁用功能在 IE 和 FF 中都有效?