Bonjour,
J'ai un tableau HTML dans lequel certaines cellules contiennent des "select".
J'essaie de mettre à jour via javascript les valeurs d'un select, sans y parvenir.
Ma fonction javascript CFdel() créé un nouvelle élément select afin de remplacer celui existant en supprimant les options qui étaient sélectionnées.
Lors de replaceChild j'ai une erreur. J'ai fais un display du parentNode pour voir si j'avais le bon ID.
Malheureusement voici ce que j'ai
sous IE
Sous FF
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Object
Dans le console d'erreur de FF j'ai un message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 object HTMLTableCellElement
J'imagine que c'est parce que le parentnode n'est pas bon, mais je ne vois pas comment le récupérer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Erreur*: uncaught exception: [Exception... "Could not convert JavaScript argument arg 1 [nsIDOMHTMLTableCellElement.replaceChild]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///D:/CP%20TOOL/DEV_OLD/TEST/aera.html :: CFdel :: line 128" data: no]
Voici en exemple de mon code qui constitue la table contenant l'élément select
La fonction qui devrait remplacer l'élément select.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Msg= '<table border=0 cellscaping=0 >' + '<tr><td colspan="3" align="center"><a style="font-family:verdana;font-weight:bold;font-size:11px;color:navy;">Datacenter Ressources</a></td></tr>' + '<tr><td><a style="font-family:verdana;font-size:11px;color:navy;">Avaliable CPC</a></td><td><td><a style="font-family:verdana;font-size:11px;color:navy;">Avaliable LPAR</a></td></tr>' + '<tr><td rowspan="2" id="selcpc">' + '<select id="smfCPC" size="8" multiple style="width:200px" title="Avaliable CPC">'; for (i=0;i<TabCPC.length;i++) { Msg +='<option value="'+ TabCPC[i] + '">'+TabCPC[i]+'</option>'; } Msg += '</select>' + '</td><td>' .... ....
Un petit coup de main m'aiderai beaucoup car je ne vois pas mon erreur
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 function CFdel(Action) { if (Action=='delCPC') { var Div ='smfCPC'; } else { var Div ='smfLPAR'; } var NbNotSelect=0; var option=''; var NotSelected = new Array(); var SourceSelect = document.getElementById(Div); for (i=0;i<SourceSelect.options.length;i++) { if (!SourceSelect.options[i].selected) { NotSelected[NbNotSelect]= SourceSelect.options[i].value; NbNotSelect++; } } var NewSelect = document.createElement('select'); NewSelect.id = Div; NewSelect.style.width = "200px"; NewSelect.size ="8"; NewSelect.multiple ="true"; for (i=0;i<NbNotSelect;i++) { option = document.createElement('option'); option.value = NotSelected[i]; option.appendChild(document.createTextNode(NotSelected[i])); NewSelect.appendChild(option); } var include = document.getElementById(Div).parentNode; alert(include); include.replaceChild(NewSelect,Div); }
Merci
Partager