11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai un soucis avec mon ajax et mon fichier xml

Voici le code :

function test()
{
	var xhr;
   if (window.XMLHttpRequest)
   { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
	else {
		alert("impossible");	
	}
	
	
if (xhr) {
    xhr.open("GET", "items.xml", true);
    xhr.setRequestHeader('Content-Type', 'text/xml');
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
			var data = xhr.responseXML;
	
	var lespersonnes = data.getElementsByTagName('dvd'); 
	var nombre = lespersonnes[0].childNodes.length; 
	alert(nombre);
	
	for (i=0; i<nombre; i++) 
		{ 
		var nom=lespersonnes[0].getElementsByTagName("title")[i].firstChild.nodeValue; 
		alert(nom);
		document.getElementById("content").innerHTML = nom+"nom";
		
		}
            
        }
    };
    xhr.send();
	
}


Quand je fais alert(nom);, j'ai bien tous mes titres qui s'affichent dans l'alert MAIS pas du tout dans la div content
En fait, c'est le dernier qui s'affiche
Et je ne comprends absolument pas pourquoi Smiley eek

Quelqu'un pourrait il m'aider?

Merci Smiley biggrin [/i]
parce qu'à chaque itération dans ta boucle for, la ligne
document.getElementById("content").innerHTML = nom+"nom";
remplace l'ensemble du contenu de "content", au final tu ne verra que le résultat de la derniere boucle, il y a plusieurs solutions, tout concaténer dans une chaine et faire afficher la chaine par exemple.