|
|
|
|
Configuration: Windows Vista (personne n'est parfait) Firefox 3.0.1 (mais on se rattrape comme on peut)
Ou est ton problème ?
<span id="valider_vote_<?php echo $donnees['id'];?>" >
<a href="vote.php?vote=adore&id=<?php echo $donnees['id'];?>" onClick="vote('adore', '<?php echo $donnees['id'];?>');return false;">J'adore</a>
¤
<a href="vote.php?vote=naze&id=<?php echo $donnees['id'];?>" onClick="vote('naze', '<?php echo $donnees['id'];?>');return false;">C'est naze</a>
</span>
---
function vote(vote, id) {
var xhr = getXMLHttpRequest();
if (xhr && xhr.readyState != 0) {
document.location.href='vote.php?vote'+vote+'&id='+id;
}
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
document.getElementById('valider_vote_'+id).innerHTML = "Votre vote a été pris en compte, merci";
} else if(xhr.readyState == 2 || xhr.readyState == 3) {
document.getElementById("valider_vote_"+id).innerHTML = "<img src=\"chargement.gif\" alt=\"Chargement\"/>";
}
}
xhr.open("GET", "vote.php?vote=" + vote + "&id=" + id + "", true);
xhr.send(null);
} |
Salut,
mon problème est que lorsque je clique sur le lien, ça m'envoie vers la page vote.php, ça exécute bien le script php mais du coup, ça ne lance pas la fonction vote. J'utilise le procédé XMLHttpRequest et donc ça ne devrait pas changer de page. En gros, je veux appeler cette fonction par une balise <a>
|
Normalement le return false ; devrait annuler le lien et n'executer que le JavaScript, mais pour être sûr, remplace par ceci :
<span id="valider_vote_<?php echo $donnees['id'];?>" >
<a href="#" onClick="vote('adore', '<?php echo $donnees['id'];?>');return false;">J'adore</a>
¤
<a href="#" onClick="vote('naze', '<?php echo $donnees['id'];?>');return false;">C'est naze</a>
</span>
|
@alain_42 : oui, c'est une erreur de ma part, un mauvais copier/coller lors de la création du script :p
@Alkaaran : j'ai essayé mais ça ne marche pas. J'ai même essayé de faire comme ça : <a href="javascript:vote('adore', '<?php echo $donnees['id'];?>');" >J'adore</a>
mais ça ne marche pas non plus. Peut être y-t-il une erreur dans le script ajax ? ps : pour info, quand je clique, le return false ne marche pas car cela me change l'adresse et me mets le #
|
Merci pour ton aide Alain_42, je vais sûrement le faire par ta méthode, à quelques détails près^^
Mais sinon en fait mon script marche, je m'étais juste trompé pour l'appeler :) Merci à tous |
Résultats pour [AJAX] envoyer la requête
Résultats pour [AJAX] envoyer la requête
Résultats pour [AJAX] envoyer la requête
Résultats pour [AJAX] envoyer la requête