Bonsoir,
J'exécute plusieurs fonctions, la première fonction récupère la liste des derniers messages et la deuxième fonction récupère les derniers messages d'un seul utilisateur.
La fonction pour la liste de messages d'un seul utilisateur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $( "body" ).on( "click", "#miss", function(){ if(timermsg !='') clearTimeout(timermsg); timermsg=''; refreshlistmsg(); });
La fonction pour la liste des messages, qui fera appel à la fonction liste des messages d'un utilisateur:
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
17
18
19
20 function refreshmsg(titi){ jQuery.ajax({ type: 'POST', url: 'controllers/accueil/msg.php', dataType : 'json', data: { id: titi }, success: function(json) { var xxx = JSON.stringify(json); var obj = eval('(' + xxx + ')'); var msgajx = ''; for( var x in obj ) { var ligne = obj[x]; msgajx += ligne.de; } $('#msgajax').html(msgajx); } }); timer = setTimeout("refreshmsg(titi)", 20000); }
Le soucis est le suivant:
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
17
18
19
20
21
22
23
24
25
26 function refreshlistmsg(){ jQuery.ajax({ type: 'POST', url: 'controllers/accueil/messages.php', dataType : 'json', success: function(jsonn) { var zzz = JSON.stringify(jsonn); var objj = eval('(' + zzz + ')'); var msgajax = ''; for( var z in objj ) { var ligne = objj[z]; titi = ligne.de alert(titi); id = msg + ligne.de; $( "body" ).on( "click", "#"+id, function(){ if(timer !='') clearTimeout(timer); timer=''; alert(titi); refreshmsg(titi); }); } } }) timermsg = setTimeout("refreshlistmsg()", 20000); }
Quand je fais le premier clique sur #miss, la fonction refreshlistmsg() s'exécute et l'alert(titi) de la ligne 13 m'affiche bien les IDs voulu 5 4 1 2, mais le deuxième clique de la ligne 16 fait l'alert(titi) de la ligne 18 m'affiche 2 2 2 2 c.a.d quatre fois le dernier ID du premier alert(titi)
Comment je peux faire pour avoir les mêmes IDs du le premier alert dans le deuxième alert ?
Et aussi comment faire pour que le deuxième alert ne s'exécute qu'une seule fois lord du clique de la ligne 16 ?
Bonsoir :-)
Partager