J'ai quelques boutons de soumission qui sont définis de la manière suivante:requête Ajax et mise à jour de rappel sont déclenchaient en même temps
<input id="add_200,231" type="submit" onclick="updatePage(401,27371,200,231)" value="Add"/>
La fonction javascript correspondant référencé dans « onclick » ressemble à ceci:
function updatePage(slac,sci,tlac,tci) {
var url = '/neighbouring?.state=add_cell&source=' + slac + ',' + sci +'&target='+ tlac + ',' + tci + '&dummy='+(new Date()).getTime();
new Ajax.Request(url,{
onComplete: triggerContentUpdate(slac,sci)
});
}
function triggerContentUpdate(slac,sci) {
var updates = document.getElementsByClassName('update_on_add');
for (var i = 0; i < updates.length; i++) {
var uid = updates[i].id;
var url = '/neighbouring?.state=update_template&divid=' + uid + '&source='+slac + ',' +sci + '&dummy='+(new Date()).getTime();
var uAjax = new Ajax.Updater(uid,url,{ method: 'get'});
}
}
Les éléments qui doivent être mis à jour sont étiquetés avec des balises de classe "update_on_add". Lorsque j'utilise Firebug, je peux voir que la fonction Ajax.Request dans updatePage() ainsi que Ajax.Update dans les fonctions triggerContentUpdate() sont appelées en même temps. Je m'attendais à ce que triggerContentUpdate() ne soit appelé qu'après que Ajax.Request soit terminé.
Ai-je raté quelque chose ici?