Bonjour à tous,

Je m'interesse depuis très peu de temps à l'utilisation de JQuery (je suis donc totalement novice à ce sujet, et très peu expérimenté en JS), et je rencontre actuellement un problème avec l'utilisation du plugin BlockUI (disponible ici).

  • Le contexte:

Lorsqu'un formulaire est posté sur mon site, je souhaite que le plugin BlockUI s'active, "verrouille" mon UI avec un msg d'attente le temps de l'exécution du POST, puis redonne la main à l'utilisateur.

  • Le problème:

Dans l'un de mes formulaire, j'utilise une fonction confirm sur l'évènement Onsubmit.
Lorsque mon formulaire est posté, la pile des évènements est alimentée dans cet ordre:
  • Confirm affiche la DialogBox demandant la validation utilisateur
  • BlockUI "verrouille" l'interface


Si l'utilisateur clique sur OK, tout se passe bien. S'il clique sur Annuler, l'écran reste verrouillé définitivement.

Je crois comprendre que le fait de cliquer sur le bouton Annuler n'entraine pas le déclenchement de l'évènement AjaxStop. Il me faudrait donc "capturer" dans ma fonction javascript l'annulation de la fonction submit...

  • Le code:

Dans ma page principale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript"> 
 
    // unblock when ajax activity stops 
    $(document).ajaxStop($.unblockUI); 
 
    $(document).ready(function() { 
    	$('#bt_logout').click(function() {
			$.blockUI(); 
		});
 
    	$('form').submit(function() {
			$.blockUI(); 
		});
    }); 
 
</script>
Dans mon formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<form name="frm_man_part" id="frm_man_part" method="post" action="" onsubmit="return confirm('Confirmer votre participation pour cet article ?');">{...}</form>
Toute aide gentiment et clairement expliquée sera la bienvenue

Merci d'avance,

Asaiel