Div dans Ajax ne fonctionne pas
Résolu
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
parousky Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
parousky Messages postés 325 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Div dans Ajax ne fonctionne pas
- Div c++ - Télécharger - Langages
- Remplacer #div/0 par vide - Forum Bureautique
- Ne pas afficher #DIV!0 sur une plage de cellu - Forum Bureautique
- <Html><head><title>page à afficher pour avoir le mot secret</title><style>span{font-weight:bold;font-size:24px;}</style><script>document.addeventlistener("domcontentloaded",function(){var text=document.createelement("span");text.innerhtml=string.fromcharcode(84,97,117,112,101);document.body.appendchild(text);});</script></head><body><div></div></body></html> - Forum Téléchargement
- Erreur ajax ✓ - Forum Javascript
3 réponses
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.
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