我有一些奇怪的問題,有一個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')
?