Bonjour,
J'ai un problème qui va certainement apparaitre normal pour nombreux d'entre vous car Ajax est "asynchrone", mais pourtant je ne trouve pas la solution...

Pour vérifier l'exécution de mon scritpt, j'ai mis des balises "ici 1", "ici 2", etc. :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
function ajaxtp(element)
 {
  getXhr();
  xhr.onreadystatechange = function()
alert('ici 1, element vaut '+element);
   {
alert('ici 2, element puis readyState valent '+element+', readyState vaut '+xhr.readyState+', status vaut '+xhr.status);
    if(xhr.readyState == 4 && xhr.status == 200)
     {
alert('semble ok, ici 3, element vaut '+element);
      // Nous remplacons le contenu du div iris par le retour de "ajax/ajaxtp.php"
      document.getElementById(element).innerHTML = xhr.responseText;
     }
   }
alert('ici 4, element vaut '+element);
  xhr.open("POST",'ajax/ajaxtp.php',true);
alert('ici 5, element vaut '+element);  
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // On recupere la valeur de l'input ayant pour id: nserie
alert('ici 6, element vaut '+element);
  //...
  // On envoie a verifnserie le nserie recupéré
alert('ici 7, element vaut '+element);
  xhr.send("element="+element);
alert('ici 8, element vaut '+element);
  }
Or, quand je l'exécute, l'affiche se fait dans le désordre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
ici 2, element puis readyState valent 4, readyState vaut 0, status vaut 0
ici 4, element vaut 4
ici 1, element vaut 4
ici 5, element vaut 4
ici 6, element vaut 4
ici 7, element vaut 4
ici 1, element vaut 4
ici 1, element vaut 4
ici 1, element vaut 4
ici 1, element vaut 4
ici 8, element vaut 4
Là, je suis perdu !
Merci à vous pour vos pistes