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
2
 
object HTMLTableCellElement
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
 
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]
J'imagine que c'est parce que le parentnode n'est pas bon, mais je ne vois pas comment le récupérer.

Voici en exemple de mon code qui constitue la table contenant 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>'
....
....
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
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);
}
Un petit coup de main m'aiderai beaucoup car je ne vois pas mon erreur

Merci