我有一些奇怪的问题,有一个asp按钮和JavaScript的disabled
属性,可能是由于我缺乏经验,但无论如何...JavaScript禁用的属性与Enabled属性不一样吗?
当我从这个question/answer了解,设置disabled
属性使得元素禁用。 除非你设置它像这样; element.disabled = false;
所以,这就是我在我的代码中所做的;
<script type="text/javascript">
function CheckOne(inChkBox) {
... irrelevant code goes here ...
var rejectButton = document.getElementById('btnReject');
if (inChkBox.checked) {
rejectButton.disabled = false;
rejectButton.className = 'Enabled';
} else {
rejectButton.disabled = true;
rejectButton.className = 'Disabled';
}
}
</script>
<input type='checkbox' name='chkRejectLineItem' onchange='CheckOne(this);' runat="server"/>
这似乎触发和(至少是CssClass属性的变化......)的事实,我的按钮仍然禁用除了正常工作;
<asp:Button ID="btnProjectTimeReject" runat="server" Text="Reject Selected" OnClientClick="LineItemRejectReason();" OnClick="btnProjectTimeReject_Click" Enabled="False" CssClass="Disabled"/>
我知道这一点,因为OnClientClick
不会被调用(出于某种原因,服务器端代码仍然被称为??)。如果我将按钮设置为Enabled="True"
,那么一切都按预期工作。
是因为我最初使用的是Enabled="True"
,而应该在启用/禁用JavaScript中使用rejectButton.removeAttribute('disabled')
?