Case à cocher pour contrôler la fonctionnalité de bouton activé – ASP.NET

Je voudrais savoir comment je peux contrôler la propriété 'Enabled' d'un bouton en fonction de la valeur "cochée" d'une case à cocher:

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

Je peux le faire très facilement sur le côté du serveur – mais je demande que cela se fasse sur le côté client, ce qui signifie JavaScript. L'attribut OnCheckedChanged m'a-t-il permis d'appeler un JavaScript pour le faire … ou est-ce strictement pour appeler un gestionnaire dans le code-behind?

Juste pour clarifier, lorsque la case à cocher est cochée, le bouton est activé … lorsque la case est désactivée, le bouton est désactivé.

Javascript:

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

Contrôles Web:

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

Cette question SO pourrait vous donner un soupçon de la façon de le faire. Dans votre situation, cependant, au lieu de changer le texte de la Checkbox , trouvez le Button contrôle sur votre page et modifiez sa propriété disabled .

Vous pouvez utiliser ici l'attribut ClientID afin que vous puissiez obtenir le contrôle côté client via javascript en utilisant document.getElementById ou document.forms[0].elements[clientID] .

 function enableButton() { $get('<%= btnLoadForm.ClientID %>').disabled = !$get('<%= chkEnableButton.ClientID %>').checked; } <asp:CheckBox ID="chkEnableButton" runat="server" OnClientClick="enableButton()" />