La désactivation d’un bouton ne déclenche pas l’événement click côté serveur

J’ai un imagebutton dans ma page aspx comme:

 

Ceci est ma fonction javascript:

 function disableButton(button) { button.disabled = true; return true; } 

Comme vous pouvez le voir dans mon gestionnaire d’événements javascript, j’ai désactivé le bouton pour empêcher l’utilisateur de cliquer deux fois sur le bouton. Cependant, même mon gestionnaire d’événements côté serveur ne se déclenche pas pour cette raison. Qu’est-ce que je fais mal?

Remarque: Si je commente cette ligne, button.disabled = true; tout fonctionne assez bien.

La désactivation du bouton désactive également l’envoi du formulaire. Vous devez vous soumettre vous-même:

 function disableButton(button) { button.disabled = true; __doPostBack(<%= btnProcessPayment.ClientID %>,''); // need to manually submit return true; } 

Mis à jour selon la suggestion de Waqas !

Vous devez déclencher l’événement côté serveur du bouton quelque chose comme ceci

 onclick="this.disabled=true;__doPostBack('buttonclientid','');" 

ou

  function disableButton(button) { button.disabled = true; __doPostBack('buttonclientid',''); return true; } 

Utilisez ceci et cela a fonctionné pour moi

  __doPostBack('<%= btnSubmit.ClientID %>', ''); 

btnSubmit est l’ID de mon bouton et je voulais déclencher l’événement de clic côté serveur pour le bouton. Ça marche.