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()" />