11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

au réveil je me suis remis à ce que je n'étais pas parvenu a terminer hier soir mais j'ai beau tourner le problème dans tous les sens, je ne parviens pas a faire ce que je voudrais :

j'aimerais affecter un évènement "onclick" à chacun de mes boutons ...
Ça me paraissait simple à priori mais je débute en javascript ainsi qu'en DOM et je ne comprends pas encore tout à fait le fonctionnement.

Bref, voici mon code (mon problème se situe dans les dernières lignes) :

window.onload = function() {
    
    var XHR = createHTTPRequest();
    
    if ( !XHR ) {
	alert( "Désolé, on a fait tout ce que l'on a pu, changer de browser !" );
    } else {
	XHR.open( "get", "stagiaire.php", false ); // false pour travailler en synchrone simulé
	XHR.send( null ); // Mode synchrone => attente de la reponse avant de continuer
	console.debug( XHR.responseXML.firstChild.nodeName );

	var sortie = document.createElement("ul");
	var doc = XHR.responseXML;
	var stags = doc.getElementsByTagName("stagiaire");

	for (var i = 0; i < stags.length; i++) {
	    var li = document.createElement("li");
	    li.setAttribute("id","stag_"+stags.item(i).getAttribute("id"));
	    var input = document.createElement("input");
	    input.setAttribute("type", "button");
	    input.setAttribute("value", "+");
	    input.setAttribute("id", "but_"+stags.item(i).getAttribute("id"));
	    li.appendChild(input);
	    var prenomNom = document.createTextNode(stags[i].getElementsByTagName("prenom").item(0).firstChild.nodeValue + " "+ stags[i].getElementsByTagName("nom").item(0).firstChild.nodeValue);
	    li.appendChild(prenomNom);
	    sortie.appendChild(li);	    
	}
	
	var body = document.getElementsByTagName("body");
	body.item(0).appendChild(sortie);
    }
}

function switchDetail(event) {
    alert("ok");
}

// var inputs = document.getElementsByTagName("input");
// inputs.onclick = switchDetail;

var inputs = new Array();
var i = 0;
while (document.getElementById("stag_"+i)) {
    inputs[i] = document.getElementById("stag_"+id).onclick = switchDetail;
    i++;
}


Merci d'avance Smiley cligne [/i][/i][/i]
Modifié par CedScred (25 Apr 2010 - 15:47)
Youpie, à force d'entetement ( et de console.debug ^^, faut que j'y pense plus souvent à celui-la Smiley langue ), j'y suis arrivé comme un grand Smiley lol ( Fallait que je j'ajoute les event listener dans le onload -.- )