Bonjour,
Je viens de passer ma nuit (il est 5h30 du mat) sur un pb très irritant et donc je sollicite votre aide !
J'ai un petit programme en ajax avec des éléments dont je dois mettre à jour les attributs en js à l'arrivée.
La fonction js à entrer contient un paramètre qui vient du doc xml.
Voici le bout de code en question :
Où id.data est ma variable (que j'ai testée bien sûr et il n'y a pas de pb).
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 while(ma_condition){ if(checked.data == 0){ if(document.all){ elem.onclick = function(){ ma_fonction(id.data, 'action1'); } } else { elem.setAttribute("onClick", "ma_fonction(" + id.data + ", 'action1');"); } } else { if(document.all){ elem.onclick = function(){ ma_fonction(id.data, 'action2'); } } else { elem.setAttribute("onClick", "ma_fonction(" + id.data + ", 'action2');"); } } }
Sous FF évidement tout va bien. Le problème avec IE, c'est qu'au final tous les éléments de ma boucle vont avoir le même attribut onclick, et ce sera le dernier de la boucle. Pourquoi ?
J'ai pensé que quand les fonctions n'ont pas de nom IE leur en attribut un genre anonymous et que si à chaque itération le nom est le même fatalement au bout tout le monde se récupère la même fonction, mais je ne suis pas sûr. Et en plus je ne vois pas comment donner des noms différents aux fonctions...
Bref je patauge sévère.
Des idées ?
Merci !
Andong
Partager