Bonjour,
Comme le titre l'indique encore un script qui fonctionne parfaitement sous Firefox mais qui ne marche pas sous Internet Explorer. IE qui devrait être interdit, sa simplifierai la vie des développeurs parfois. Enfin bon voila mon problème :
J'ai créer un tableau ( un tableau de produit), l'utilisateur à la possibilité d'ajouter des lignes à ce tableau pour saisir de nouveau produit. Jusque la pas de souci.
Mais le problème c'est que l'utilisateur peut aussi supprimer la ligne qu'il souhaite, pour cela il clique sur un petit bouton en face de la ligne à supprimer.
Au moment où il clique sur le bouton j'appel la fonction supprimer_ligne qui a en paramètre l'indice de la ligne, et je change le nom et l'id de mes zones de texte,
c'est à dire que si l'utilisateur supprime la ligne 2, qui contenais la zone de texte ayant pour nom et id ref_produit_2, il faut renommer toutes les zone de textes des ligne suivantes, la zone de texte de la ligne 3 (qui devient la ligne 2) ne doit plus s'appeler ref_produit_3 mais ref_produit_2 et ainsi de suite pour toutes les lignes suivantes.
Je sais pas si c'est bien clair tout sa, j'espere que si.
Sous firefox toutes les zone de texte sont bien renommer et ce tout le temps mais alors sous ce fameux IE la sa ne marche pas, enfin il semble que sa fonctionne à la première suppression mais pas au suivante, IE ne me modifie pas correctement les id.
Voici mon code :
Je ne comprend pas pourquoi IE ne m'interprète pas le code comme FireFox, le code doit etre bon puisqu'il fonctionne sous Firefox, il y a un truc qui gène IE mais je ne vois vraiment pas quoi.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 //la ligne à déjà été supprimé, l'indice de cette ligne est stocké dans nb var k=0; ref_prec=nb; while (k<nb_ligne) { k=k+1; //mise a jour du nom des champs n=k-1; if (k>nb) { //la référence précéndente devient la référence actuel ref_actuel=ref_prec; ref_prec=k; var reference=document.getElementById('ref_produit_'+k); reference.name="ref_produit_"+ref_actuel; reference.id="ref_produit_"+ref_actuel; var designation=document.getElementById('designation_produit_'+k); designation.name="designation_produit_"+ref_actuel; designation.id="designation_produit_"+ref_actuel; var quantite=document.getElementById('quantite_produit_'+k); quantite.name="quantite_produit_"+ref_actuel; quantite.id="quantite_produit_"+ref_actuel; var prix_unitaire=document.getElementById('prix_unitaire_'+k); prix_unitaire.name="prix_unitaire_"+ref_actuel; prix_unitaire.id="prix_unitaire_"+ref_actuel; var taux_tva=document.getElementById('taux_tva_'+k); taux_tva.name="taux_tva_"+ref_actuel; taux_tva.id="taux_tva_"+ref_actuel; var montant_ttc=document.getElementById('montant_ttc_'+k); montant_ttc.name="montant_ttc_"+ref_actuel; montant_ttc.id="montant_ttc_"+ref_actuel; document.getElementById('liste_produit').rows[ref_actuel].cells[6].innerHTML='<img src="{ babSkinPath }/images/puces/edit_remove.png" style="cursor:pointer" id="image_'+ref_actuel+'" onclick="alert('+ref_actuel+');supprimer_ligne('+ref_actuel+')">'; } }
Merci d'avance à tous ceux qui ont lu ce message jusqu'au bout et à ceux qui voudront bien m'aider.
Partager