Récupérer "dynamiquement" l'attribut "value" d'une DIV en JS
Résolu
Val_3990
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Val_3990 Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Val_3990 Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de travailler sur un chat que je souhaite rendre dynamique grace a AJAX. Cette partie est quasiment terminée mais je butte sur un dernier problème :
Je créer dans un 1er temps une série de liens représentant les différentes membres avec la quelle l'utilisateur courent a échanger (chaque liens a pour "value" l'id du membre en question):
Puis en JS je fait un for pour ajouter un eventLister sur tout les liens créer pour lancer l'actualisation avec un affichage de la conversation avec le membre sur le quelle l'utilisateur a cliqué :
J'aimerai récupérer l'attribue value du liens sur le quelle j'ai cliqué dans mon code JS (ici j'ai essayé de le faire avec la variable "id_custo") pour le transmettre au fichier que j’appelle dans ma requête open (par send) mais je n'y arrive pas, en effet la variable id_custo reste systématiquement a la value du dernier tour de for et je n'arrive pas a trouver d'idée pour le faire différemment.
Merci d'avance et bonne fin de journée.
Je suis entrain de travailler sur un chat que je souhaite rendre dynamique grace a AJAX. Cette partie est quasiment terminée mais je butte sur un dernier problème :
Je créer dans un 1er temps une série de liens représentant les différentes membres avec la quelle l'utilisateur courent a échanger (chaque liens a pour "value" l'id du membre en question):
<div class="card-body contacts_body"> <ul class="contacts"> <?php while ($data = $req->fetch(PDO::FETCH_ASSOC)) { ?> <li class="active"> <a value="<?php echo($data['id_client']); ?>" href="#" class="chat_friend"> <?php echo($data['id_client']);?> <!---juste pour affiche les id---> <div class="d-flex bd-highlight"> <div class="img_cont"> <img src="https://static.turbosquid.com/Preview/001292/481/WV/_D.jpg" class="rounded-circle user_img"> <span class="online_icon"></span> </div> <div class="user_info"> <span><?php echo ($data['name'])?></span> <p><?php echo(getLastMessage($con,$data['id_client'])); ?></p> </div> </div> </a> </li> <?php } ?> </ul> </div>
Puis en JS je fait un for pour ajouter un eventLister sur tout les liens créer pour lancer l'actualisation avec un affichage de la conversation avec le membre sur le quelle l'utilisateur a cliqué :
var getHttpRequest = function (){ var HttpRequest = new XMLHttpRequest(); return HttpRequest } var HttpRequest = getHttpRequest() var id_custo=null var links = document.querySelectorAll('.chat_friend') for(var i=0;i<links.length;i++){ var linkIndex=links[i] linkIndex.addEventListener('click', function(event){ id_custo=linkIndex.getAttribute('value') console.log(id_custo) event.preventDefault() if(HttpRequest.readyState == 4 &HttpRequest.status == 200) { document.getElementById('changeCusto').innerHTML = HttpRequest.responseText } HttpRequest.open('POST','monChat2.php',true) HttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded') console.log(id_custo) HttpRequest.send('id_customer='+ id_custo) }) }
J'aimerai récupérer l'attribue value du liens sur le quelle j'ai cliqué dans mon code JS (ici j'ai essayé de le faire avec la variable "id_custo") pour le transmettre au fichier que j’appelle dans ma requête open (par send) mais je n'y arrive pas, en effet la variable id_custo reste systématiquement a la value du dernier tour de for et je n'arrive pas a trouver d'idée pour le faire différemment.
Merci d'avance et bonne fin de journée.
Configuration: Windows / Chrome 83.0.4103.61
A voir également:
- Récupérer "dynamiquement" l'attribut "value" d'une DIV en JS
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer le son d'une video - Guide
2 réponses
Bonjour,
Regarde ça :
Regarde ça :
<!DOCTYPE html> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>TEST</title> </head> <body> <a data-id_custo="1" href="#" class="chat_friend">1</a> <a data-id_custo="2" href="#" class="chat_friend">2</a> <script> var id_custo=null var links = document.querySelectorAll('.chat_friend'); for(var i=0;i<links.length;i++){ var linkIndex=links[i]; linkIndex.addEventListener('click', function(event){ var elm = this; console.log('id_custo',elm.getAttribute('data-id_custo')); }); } </script> </body> </html>