Contrôler l'ordre d'execution
Bonjour,
voilà mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function addEventSimple(obj,evt,fn){
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
var test = document.getElementById('image_animation_back');
addEventSimple(test,'click', function()
{
var redir = this.href;
this.href = '#';
go_1();
document.location.href=redir;
}) |
ca consiste à enlever le(s) lien(s) des balise de lien exécuter un script lorsque le client clique et finalement le rediriger sur le lien qui était présent dans la balise. Sauf que je voudrais être sûr que ma fonction go_1() qui elle même contient une fonction soit bien exécutée jusqu'au bout
si toutefois ca peut aider le code de go_1:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go_1(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('image_animation_h1').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","delete2.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
idAddress = 1;
xhr.send("idAddress="+idAddress);
} |
voilà d'avance merci à ceux qui prendront le temps de me répondre.