Bonjour, j'ai fait une fonction qui a pour but de traiter en boucle des données et les afficher sous certaines conditions. Voici le code:

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
27
28
function req1(xhr) {  //Traitement des données de la requête type 1 = information sur la liste des joueurs présents
         if (xhr.readyState==4) {
 
              var docXML = xhr.responseXML ;
              var joueurs = docXML.getElementsByTagName("nom") ; //On recupère le document et on crée la variable joueurs qui contient tous les joueurs
              var reponse = null ; //Variable qui sera utile par la suite
 
               for(i=0;i<joueurs.length;i++) { //Boucle: tant qu'il reste des éléments non traités dans joueurs
                reponse = joueurs.item(i).firstChild.data ; //On récupère les données du nom
                alert(reponse) ;
                var exist = false ; //variable servant à déterminer si le nom est déjà présent dans la liste
                for(y=0;y<liste_joueurs.length;y++) { //On utilise une boucle pour vérifier si le nom qu'on vient de récupérer est déjà présent dans la liste ou non
                  if(liste_joueurs[y] == reponse) {
                    exist = true ; //Si on trouve le nom dans la liste la variable exist passe à TRUE ce qui empêche le nom d'apparaitre par la suite
                    continue ;
                    }
                  } 
                if (exist == false){ //Si le nom n'est pas encore dans le tableau on l'y ajoute
                  var pos = liste_joueurs.length ; //On détermine la position dans le tableau que le prochain enregistrement doit avoir 
                  liste_joueurs[pos] = reponse ; //On ajoute le joueur à la liste(tableau liste_joueurs)
              	  document.getElementById("liste").appendChild( document.createTextNode( reponse ) );
                  if (i!=joueurs.length) {  //Tant qu'on n'est pas à la dernière ligne, on rajoute un <br> à la fin de la ligne
                    document.getElementById("liste").appendChild( document.createElement("br") );
                    }
                  }
              }
          }
        }
Donc en gros lors de la première exécution de la boucle tout va bien, tous les noms sont affichées par la popup alert(reponse) mais à partir de la deuxième exécution seul le premier élément de "joueurs" est affiché...le comble pour un script sensé gérer les modifications de la bdd en temps réel.
Avez vous des idées de l'élément qui cloche?