J'ai une page aspx qui contient une case à cocher et un bouton. Le bouton est désactivé par défaut jusqu'à ce que l'utilisateur coche la case. Il semble que lorsque j'ajoute l'attribut enabled = "false" au bouton, cela supprime la validation. Lorsque le bouton est activé, je veux toujours que la validation fonctionne. Voici le code et le balisage pour les différentes parties.Le bouton désactivé asp.net désactive la validation du bouton
Checkbox:
<asp:CheckBox runat="server" ID="termsCheckBox" />
<label style="display: inline;">
I agree to the Terms & Conditions</label>
Button:
<asp:Button runat="server" ID="registerButton" OnClick="registerButton_Click1"
Text="Register" Enabled="false" ValidationGroup="accountValidation" />
JQuery:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#<%=termsCheckBox.ClientID %>').click(function() {
var checked = $(this).val();
if (checked != undefined)
$('#<%=registerButton.ClientID %>').removeAttr('disabled');
else
$('#<%=registerButton.ClientID %>').attr('disabled', 'disabled');
});
});
</script>
Le côté client fonctionne très bien. Je n'ai pas besoin d'un voyage sur le serveur juste pour activer un bouton. – Xaisoft
Je veux dire que pour que le bouton asp.net fasse partie de la validation ValidationGroup effectuée par le framework .Net, vous devrez effectuer une publication sur le serveur pour vous assurer que le script doit avoir le bouton attaché à un gestionnaire sur le client . Si vous avez un script personnalisé sur le client, alors vous devez vous assurer qu'il a été attaché à l'événement de clic du client sur le bouton à déclencher ... à moins que j'ai raté quelque chose – Sunny
Ok, je pense que je vous ai bien compris. Dites-vous que parce que je le passe côté client et que je ne publie pas un post, la validation du bouton n'est pas gérée car le script n'est pas ajouté lorsqu'il est activé. – Xaisoft