Bonjour.
J'ai créé un formulaire dans lequel on peut rajouter des champs en appuyant sur un bouton. A coté de chaque champ généré, un bouton est aussi créé. Un evénément onclick est associé a celui ci. Cela fonctionne niquel sous firefox mais sous IE, ca ne fonctionne pas.
le code javascript :
le html :
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 /* Nombre de champ dans le formulaire. */ var nbCouleur = 1; function addCouleur() { /* Creation du conteneur. */ var div = document.createElement("div"); /* Champ du formulaire. */ var input = document.createElement("input"); input.type = "text"; input.name = "couleur" + nbCouleur; input.value = ""; input.size = 7; input.maxlength = 7; /* Image permettant de modifier la valeur du champ. */ var img = document.createElement("img"); img.src = "images/color.gif"; img.width = 21; img.height = 20; img.border = 0; img.align = "absmiddle"; img.style.cursor = "pointer"; img.indice = nbCouleur; img.onclick = function() { var elem = "couleur"+this.indice; fctShow(document.f.elements[elem]); } /* Ajout des nouveaux elements à la page. */ div.appendChild(input); div.appendChild(img); document.getElementById("couleurs").appendChild(div); nbCouleur++; }
lien http://www.orba-services.com/test/test.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id="couleurs"> <div> <input type="text" name="couleur0" size="7" maxlength="7" value="" /> <img src="images/color.gif" width="21" height="20" border="0" align="absmiddle" onClick="fctShow(document.f.couleur0);" style="cursor:pointer;"> </div> </div> <a href="javascript:addCouleur();" >Ajouter une autre couleur</a>
Ce que je ne comprend pas, c'est que la methode fctShow est bien appelé (verifié avec un alert) mais ne fait rien.
et le onclick créé avec img.onclik est appelé lorsque l'on clique sur "ajouter une couleur" alros que ca ne devrait pas.
quelqu'un a une idée du probleme, car je ne voi pas.
merci d'avance.
Partager