bon, j'vais tenter d'expliquer mon probleme le plus simplement possible.
j'ai un tableau que je peux modifier en javascript (ajouter ou supprimer des lignes, toujours la meme)
dans chaque ligne, j'ai 2 id que je met dynamiquement lorsque je la cree.
lorsque je supprime la ligne, je doit decaler tous mes id comme suit (par expemple) (les 2 id sont de la meme forme : text+id qui vaut le numero de la ligne)
1->1
2->suppr
3->2
4->3
5->4
voila le code qui me permet de le fair
la creation fonctionne parfaitement. La suppression aussi si c'est le dernier ou avant dernier qui je supprime.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for(var i=(idx +2) ; i<=parseInt(document.getElementById("nbAffirmation").value) +1 ; i++){ champ = document.getElementById("question"+i); rep = document.getElementById("rep_question"+i); champ.parentNode.parentNode.firstChild.innerHTML = "Affirmation "+(i -1)+" :"; champ.name = "question"+(i -1); champ.id = "question"+(i -1); rep.name = "rep_question"+(i -1); rep.id = "rep_question"+(i -1); }
Mais ca se gate a partir de 4 elements et que je supprime le second. A l'affichage, j'ai bien ce qu'il faut (j'ai le numero de la ligne dans un champs de mon tableau) et la developer toolbar d'IE7 me dit que tout s'est bien passe.
mais voila, le javascript lui, me dit tout autre chose. Lorsque je teste mon tableau avec le javascript, voila ce que j'ai :
1->1
2->suppr
3->2
4->2
5->3
le plus etonant est que je n'ai pas de conflit d'ID alor que 3 et 4 pointe sur le meme element ....
quelqu'un peut-il me dir ou je me plante ? Je vais tester sous d'autre navigateur voir si ce serai pas IE qui me prouve encore une fois qu'il vau mieu utiliser autre chose, mais l'application sera utilise sur IE7 et 6, du coup, il me faut absolument une solution.
si quelqu'un a une solution plus simple a me proposer, j'suis preneur. mais j'aimerais quand meme comprendre ce phenomene.
Partager