[DOM] Affectation onClick
salut tout le monde , je genere des bouttons tirés d'un fichier xml , j'aimerais affecter a ces boutons une fonction ( onclick) faisant un autre traitement .
Mon probleme se situe ici justement , j'arrive tant bien que mal a faire un alert sur l'evenement onmousedown ou onclick mais ce que je ne comprends pas c'est que ça ne m'affiche pas les valeurs desirées .
Pour votre compréhension un extrait du code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
if (http_request.status == 200) {
var XMLDoc=http_request.responseXML;
var rootNode=XMLDoc.getElementsByTagName('My_root');
var childNodesArray=rootNode[0].childNodes;
for (i=0;i<childNodesArray.length;i++){
if (childNodesArray[i].nodeType==1){
var toto=childNodesArray[i].getAttribute("unfils");
tutu=document.createTextNode(toto);
titi=document.createElement("<input>");
titi.setAttribute("type","button");
titi.setAttribute("value",placeName);
// ici il y a bien la creation des inputs avec la value qui va bien
// cf spacefrog
titi.onclick=function(){alert(i)}
titi.setAttribute("onclick",function(){alert(i)})
document.getElementById("unId").appendChild(titi);
document.getElementById("unId").appendChild(document.createElement("<BR>"));
}
} |
le i a une valeur fixe
any suggestions ?
Re: [DOM] Affectation onClick
Citation:
Envoyé par NeHuS
le i a une valeur fixe
any suggestions ?
Va falloir que je le rajoute dans la FAQ, vu le nombre de demande en ce moment.
Le i a toujours la dernière valeur car il n'est pas évalué au moment ou tu mets en place ta fonction. Il n'est évalué qu'au onclick, et effectivement, à ce moment, il vaut la dernière valeur.
La parade actuelle est de mettre le i comme propriété de l'élement, et de faire le alert de cette propriété:
Code:
1 2 3 4
|
titi.message=i;
titi.onclick=function(){alert(this.message)}
titi.setAttribute("onclick",function(){alert(this.message)}) |
merci sf!