Le problème est le suivant :
quand l'utilisateur clique sur le bouton, celui-ci va se désactiver
avant de traiter la demande (i.e. l'envoi du formulaire). Or en se désactivant, il refusera de traiter la demande
Pour résoudre ton problème, il te suffit de décaler la désactivation du bouton de quelques dizaines de ms, ce qui empêchera donc l'utilisateur de cliquer à nouveau sur le bouton, mais qui n'empêchera pas la soumission du formulaire.
Pour ce faire :
1 2 3 4 5 6 7
| <h:commandButton ... onclick="disableMe(this.id);"/>
<script type="text/javascript">
function disableMe(btnId) {
setTimeout("document.getElementById('" + btnId + "').disabled = true;", 10);
}
</script> |
(oui, il y a des façons plus élégantes de faire, mais bon)
Partager