Bonjour à tous !
J'ai un soucis un peu embêtant : un div cliquable contient le résultat d'une requête SQL. Elle est mise à jour par ajax toutes les secondes. Quand je clique dessus, je veux récupérer une valeur de ma requête :
Code php : 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
27
28
29
30
31
32
33
34
35
36
37
38 /* page php : */ foreach($posteur as $p) { if (!$p['lu']) { echo '<div class="clientMessage recent">'; } else { echo '<div class="clientMessage">'; } echo '<time>'.$p['datetime_message'].'</time>'; echo '<h4>'.$p['nom_posteur'].' : </h4>'; echo '<p>'.substr($p['texte'], 0, 140).'</p>'; echo '</div>'; } /* fonctions js : */ // pour récupérer ma valeur en cliquant sur la div $('.clientMessage').on('click', function() { var $text = $(this).children("h4").text(); var $pseudo = $text.indexOf(":", 0); $pseudo = $text.substring(0, $pseudo-1); alert($pseudo); }); // pour mettre à jour via ajax : function load(callback) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); } }; xhr.open('GET', 'http://localhost/tests/siteComportementaliste/php/chats.php', true); xhr.send(null); } function readData(sData) { $("#jajax").html(sData); } setInterval(function() { load(readData); }, 1000);
Si je mets juste la première fonction, quand je clique je récupère ma valeur, c'est magnifique. Quand je mets ma fonction pour mettre à jour, tout va pour le mieux dans le meilleur des mondes. Par contre, quand je mets les 2 ensembles, la fonction qui clique boude et je ne peux plus récupérer ma valeur
Quelqu'un saurait remédier à ce problème ? (Je précise, je suis débutant, peut être que je fais quelque chose de stupide ou que la solution est évidente... n'hésitez pas à me dire s'il y a autre chose qui ne va pas d'ailleurs).
Merci d'avance de votre aide !
Partager