Div dans Ajax ne fonctionne pas
Résolu/Fermé
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
-
Modifié par jordane45 le 3/03/2015 à 13:39
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 3 mars 2015 à 15:43
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 3 mars 2015 à 15:43
A voir également:
- Div dans Ajax ne fonctionne pas
- Div c++ - Télécharger - Langages
- #Div/0 excel moyenne - Guide
- Erreur ajax ✓ - Forum Webmastering
- Excel moyenne sans div/0 ✓ - Forum Excel
- Remplacer #div/0 par vide - Forum Bureautique
3 réponses
Utilisateur anonyme
Modifié par le père. le 3/03/2015 à 13:52
Modifié par le père. le 3/03/2015 à 13:52
Bonjour
Ce n'est pas une question de query.
C'est que dans ton formulaire, tu crées plusieurs div qui ont tous le même id : ticker. Ceci est interdit, un id doit par définition être unique. Ton
Tu peux t'en tirer en créant des id uniques (en ajoutant un compteur à la fin de 'ticker' par exemple, et en le passant en paramètre à 'Favoris', qui ira ainsi chercher "son" id et pas le premier qui se présente.
J'avais déjà utilisé cette technique Non, tu n'avais certainement pas fait comme ça. Tu utilisais obligatoirement un moyen ou un autre pour distinguer tes div les uns des autres.
Ce n'est pas une question de query.
C'est que dans ton formulaire, tu crées plusieurs div qui ont tous le même id : ticker. Ceci est interdit, un id doit par définition être unique. Ton
document.getElementById('ticker')prend le premier "ticker" qu'il trouve, il n'a aucune raison d'aller en chercher un autre. Il n'y a aucune association entre chaque bouton et chaque div, si ce n'est dans ta tête, mais ça, javascript ne peut pas le deviner.
Tu peux t'en tirer en créant des id uniques (en ajoutant un compteur à la fin de 'ticker' par exemple, et en le passant en paramètre à 'Favoris', qui ira ainsi chercher "son" id et pas le premier qui se présente.
J'avais déjà utilisé cette technique Non, tu n'avais certainement pas fait comme ça. Tu utilisais obligatoirement un moyen ou un autre pour distinguer tes div les uns des autres.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
Modifié par jordane45 le 3/03/2015 à 13:57
Modifié par jordane45 le 3/03/2015 à 13:57
Bonjour,
Je ne comprend pas trop....
Ton code PHP est celui appellé par ton ajax ?
Si oui... il ne mettra rien à jour... car il ne s'execute pas dans la page en cours....
Pour mettre à jour ta div.. il faut le faire dans le SUCCESS de ton ajax.
par exemple :
EDIT : En lisant la réponse de le père.. j'ai compris ta question et ton souci....
En effet,... ta fonction ne marchera pas car tu utilises X fois le même ID....
Tu peux y remedier en faisant un truc du genre....
et dans ton JS:
Cordialement,
Jordane
Je ne comprend pas trop....
Ton code PHP est celui appellé par ton ajax ?
Si oui... il ne mettra rien à jour... car il ne s'execute pas dans la page en cours....
Pour mettre à jour ta div.. il faut le faire dans le SUCCESS de ton ajax.
function Favoris(){ var XTicker = document.getElementById('ticker').innerHTML; var XFavoris = 1; console.log(XTicker); $.ajax({ type: "POST", url: "Traitement.php", data: {Favoris: XFavoris, Ticker: XTicker}, async: false, dataType: "html", success: function(reponse){ console.log(reponse); $("#ticker").html(reponse); }, error:function(reponse){ alert('error !\n' + reponse); } }); }
- reponse etant le résultat (print ou echo) de ton fichier PHP...
par exemple :
<?php echo "ceci est la réponse !"; ?>
EDIT : En lisant la réponse de le père.. j'ai compris ta question et ton souci....
En effet,... ta fonction ne marchera pas car tu utilises X fois le même ID....
Tu peux y remedier en faisant un truc du genre....
<?php $req = $bdd->query('SELECT * FROM valeurs ORDER BY ProbaPlus DESC'); $r = 0; while($donnees = $req->fetch()) { echo " <div id='ticker".$r."'>".$donnees['Ticker']."></div>"; echo " <input type='button' onclick='Favoris(\"ticker".$r."\");'>Favoris</input>"; $r++; } ?>
et dans ton JS:
function Favoris(id_div){ var XTicker = $("#"+id_div).html(); var XFavoris = 1; console.log(XTicker); $.ajax({ type: "POST", url: "Traitement.php", data: {Favoris: XFavoris, Ticker: XTicker} }); }
Cordialement,
Jordane
parousky
Messages postés
325
Date d'inscription
mardi 11 septembre 2012
Statut
Membre
Dernière intervention
20 février 2022
6
3 mars 2015 à 15:43
3 mars 2015 à 15:43
Merci beaucoup pour vos réponses !
Et pour disparaître avec les honneurs, je n'ai pris que quelques portions de code que Jordane a donné, je les ai modifié pour l'adapter au code pour ne pas faire de copier/coller pur et dur !
Encore merci !
Et pour disparaître avec les honneurs, je n'ai pris que quelques portions de code que Jordane a donné, je les ai modifié pour l'adapter au code pour ne pas faire de copier/coller pur et dur !
Encore merci !