bonjour,
je vais essayer d'expliquer au mieux mon problème. Dans une fonction "apparaitre" j'appelle une fonction "surbriller".
Dans cette fonction "surbriller", j'affiche la nature d'un element selon son id ("id_td_saisie_auto_organisme_surbrillance"), comme il n'existe pas "null" est affiché ce qui est normal.
si mon document.getElementById('id_td_saisie_auto_organisme_surbrillance') vaut null je rentre dans un if ou j'execute certaines lignes de code (c'est donc ce qui se passe), dont notamment l'affectation d'un id "id_td_saisie_auto_organisme_surbrillance" à un objet (qui est en fait un "td").
pour verifier que l'affectation s'est bien passée je fais un alert de document.getElementById('id_td_saisie_auto_organisme_surbrillance') et cela affiche la nature de mon element ce qui est normal.
ensuite je sors de mes fonctions, puis je réappelle "apparaitre" qui réappelle "surbriller", puis dans "surbriller" je fais un alert de mon fameux document.getElementById('id_td_saisie_auto_organisme_surbrillance') et la mystere il m'affiche encore null !!! il va donc une nouvelle fois rentrer dans mon if malgré mon affectation lors de l'appel précédant de "surbriller".
j'ai le sentiment que mon affectation d'id n'a eu qu'une portée locale (a savoir dans ma fonction "surbriller") et non globale (a savoir pour tout mon programme en général).
ci dessous les bouts de code concernés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function surbriller(numero){ alert(document.getElementById('id_td_saisie_auto_organisme_surbrillance')); if (document.getElementById('id_td_saisie_auto_organisme_surbrillance') == null){ var element = document.getElementById('id_tr_saisie_auto_organisme_0'); element.bgColor = 'green'; var NodeListe = element.childNodes; NodeListe[0].id = 'id_td_saisie_auto_organisme_surbrillance'; alert(document.getElementById('id_td_saisie_auto_organisme_surbrillance')); }
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 function apparaitre(param,param2,param3,param_event){ document.getElementById(param).innerHTML = "echo \"<table width='100%' id='id_table_saisie_auto_organisme' align='left'><tbody></tbody></table>\""; var code = code_touche(param_event); document.getElementById(param).style.display = 'block'; http.open("POST", "requete_saisie_auto_organisme.php", true); http.onreadystatechange = function (){ if (http.readyState == 4) { document.getElementById(param).innerHTML = http.responseText; if (document.getElementById(param2).innerHTML != '<tbody></tbody>' ){ //appel de ma fonction surbriller --> surbriller(code); } } } http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var saisie = param3.value; http.send("saisie="+saisie); }
voila j'espere avoir été suffisamment clair, merci pour votre aide...
Partager