2009-10-28 48 views
0

我想知道我可以根據複選框的「檢查」值控制按鈕的「已啓用」屬性:複選框控制按鈕啓用的屬性 - ASP.NET

<asp:CheckBox ID="chkEnableButton" runat="server" /> 
<asp:Button ID="btnLoadForm" runat="server" /> 

我可以在服務器端很容易做到這一點 - 但我只需要在客戶端完成這個操作,即JavaScript。 OnCheckedChanged屬性是否允許我調用一些JavaScript來執行此操作....或者是否嚴格地在代碼隱藏中調用處理程序?

只是爲了澄清,當複選框被選中時,該按鈕被啓用......當複選框未被選中時,按鈕被禁用。

回答

0

你可以在這裏使用ClientID屬性,所以你可以通過javascript使用document.getElementByIddocument.forms[0].elements[clientID]來獲得客戶端的控制權。

function enableButton() { 

$get('<%= btnLoadForm.ClientID %>').disabled = !$get('<%= chkEnableButton.ClientID %>').checked; 

} 

<asp:CheckBox ID="chkEnableButton" runat="server" OnClientClick="enableButton()" /> 
+0

這可能是清潔劑使用'$ GET'快捷方式存在。請參閱http://www.asp.net/ajax/documentation/live/ClientReference/Global/GetShortCutMethod.aspx – pyrocumulus 2009-10-28 10:16:27

+0

完成。謝謝你提醒我。 – 2009-10-28 10:21:15

0

This SO question可能會給你提示如何做到這一點。但是,在您的情況下,不要更改Checkbox的文本,請在您的頁面上找到Button控件,並將其更改爲disabled屬性。

2

的Javascript:

<script type="text/javascript"> 
function checkButt(obj) { 
    document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked; 
} 
</script> 

Web控件:

<asp:CheckBox ID="chkEnableButton" runat="server" OnClientClick="checkButt(this);" /> 
<asp:Button ID="btnLoadForm" runat="server" /> 
相關問題