avec prototype lorsqu'on utilise ajax.Updater() ou ajax.request() on définit une procédure a appelé avec le parametre "onComplete = traiteReponse".
Ma question est :
peut on passer un parametre a la fonction traiteReponse() ?
Version imprimable
avec prototype lorsqu'on utilise ajax.Updater() ou ajax.request() on définit une procédure a appelé avec le parametre "onComplete = traiteReponse".
Ma question est :
peut on passer un parametre a la fonction traiteReponse() ?
personne n'utilise prototype pour ajax ?:cry:
Salut,
onComplete reçoit déjà un paramètre, c'est l'objet transport, tu ne peux
pas en définir un autre (à ma connaissance bien sur)
Peux tu donner un bout de code pour voir comment on peut faire ?
excusez moi du retard pour répondre.
Prenons par exemple une liste en HTML :
Ensuite j'ai un script Javascript qui va parcourir la balise <UL> grace au DOM. Et pour chaque balise <LI> trouvé, j'effectue une requete ajax :Code:
1
2
3
4
5
6<ul id="container"> <li>rubrique1</li> <li>rubrique2</li> <li>rubrique3</li> </ul>
Je souhaite que la fonction ecriBloc() insere le contenu dans la balise <LI> qui a appelé la requete. Mais je recupere bien l'objet Transport avec le contenu mais je perd l'objet LI a mettre a jour, est ce le premier, deuxieme ......Code:
1
2 new Ajax.Request(uri,{ parameters : param, onComplete : ecriBloc } );
Je ne sais pas si je suis tres clair. En fait, l'ideal serai que dans ma fonction ecriBloc() je puisse recupere l'objet a mettre a jour en second parametre.
Pour l'instant j'ai contourné le pb avec :
Code:
1
2 new Ajax.Updater(li,uri,{ parameters : param, asynchronous:false} );
Salut,
Ajax.Updater est fait pour ça. Maintenant tu peux toujours contourner
le problème ainsi
à tester, bien sur :-)Code:
1
2
3
4
5
6
7
8
9 $('container').immediateDescendants().each( function(e) { new Ajax.Request(uri,{ parameters : param, onComplete : function(transport) { ecriBloc(transport, e); } }); });
ah oui, j'avais pas pensé a cette méthode : bravo.
Merci beacoup