Bonjour à tous !
Cela va faire 4 jours que je cherche a faire quelque chose qui me semblait très simple, sans pourtant y arriver.
J'ai une page bête et méchante, dans laquelle j'ai un liens :
où le paramètre de la fonction ("a1b2c3d4") est un token généré en PHP.
Cet fonction renvoie en fait à un appel Ajax, qui charge une page PHP qui fait son boulot (et ça jusque là ça marche) puis doit pour terminer, doit changer le token du lien en vue d'un nouveau clic.
Et là c'est le drame, impossible de changer ce fichu token.
Après des heures et des heures de recherches j'en étais arrivé à ça :
Vous vous en doutez, si je suis là, c'est que ça ne marche pas.
Enfin en réalité, si, mais l'ancienne fonction, celle présente à l'origine, au premier chargement de la page est toujours appellée, avant la nouvelle lancée par .live(), avec l'ancien token et renvoie donc un message d'erreur.
Autrement dit, la nouvelle fonction est bien executée, mais en plus de l'ancienne au lieu de la remplacer.
J'ai tenté de vider l'attribut onclick avec .attr(), cela me donne le droit à un clic supplémentaire avec que ça plante...
Je déséspère, merci d'avance.
Modifié par Lucky-Strike (14 Jan 2011 - 13:40)
Cela va faire 4 jours que je cherche a faire quelque chose qui me semblait très simple, sans pourtant y arriver.
J'ai une page bête et méchante, dans laquelle j'ai un liens :
<a id="link" href="#" onclick="fct('a1b2c3d4'); return false;" />test</a>
où le paramètre de la fonction ("a1b2c3d4") est un token généré en PHP.
Cet fonction renvoie en fait à un appel Ajax, qui charge une page PHP qui fait son boulot (et ça jusque là ça marche) puis doit pour terminer, doit changer le token du lien en vue d'un nouveau clic.
Et là c'est le drame, impossible de changer ce fichu token.
Après des heures et des heures de recherches j'en étais arrivé à ça :
$("#link").live("click", function(){fct("nouveau token");return false;});
Vous vous en doutez, si je suis là, c'est que ça ne marche pas.
Enfin en réalité, si, mais l'ancienne fonction, celle présente à l'origine, au premier chargement de la page est toujours appellée, avant la nouvelle lancée par .live(), avec l'ancien token et renvoie donc un message d'erreur.
Autrement dit, la nouvelle fonction est bien executée, mais en plus de l'ancienne au lieu de la remplacer.
J'ai tenté de vider l'attribut onclick avec .attr(), cela me donne le droit à un clic supplémentaire avec que ça plante...
Je déséspère, merci d'avance.
Modifié par Lucky-Strike (14 Jan 2011 - 13:40)