Bonjour,
Je me heurte à un problème un peu agaçant, de conception d'un tableau HTML en bouclant dans un javascript. Le code (extrait) est le suivant :
...
var td = addTableElement("td");
var nodes = tabResult[i].getElementsByTagName("button");
var buttonGroupTable = document.createElement("table");
var buttonRow = addTableElement("tr");
for(j = 0; j<nodes.length; j++){
isChecked = false;
var buttonCol = addTableElement("td");
// Génère les boutons radio
var buttonID = nodes.item(j).getAttribute("id"); // ID du bouton
// Attribut label
var buttonNode = nodes[j].getElementsByTagName("label")[0];
var buttonLabel = buttonNode.firstChild.data;
// Attribut name
var buttonNode = nodes[j].getElementsByTagName("name")[0];
var buttonName = buttonNode.firstChild.data;
// Attribut value
var buttonNode = nodes[j].getElementsByTagName("value")[0];
var buttonValue = buttonNode.firstChild.data;
// Attribut checked
var buttonNode = nodes[j].getElementsByTagName("checked")[0];
var buttonChecked = buttonNode.firstChild.data;
if(buttonChecked == 1)
isChecked = true;
// Gestionnaire d'événement associé
var buttonNode = nodes[j].getElementsByTagName("event")[0];
var onClickEvent = buttonNode.firstChild.data;
// Génère l'objet
var radioButton = document.createElement("input");
defineAttribute(radioButton,"type","radio");
defineAttribute(radioButton,"id",buttonID);
defineAttribute(radioButton,"name",buttonName);
if(isReadOnly){
defineAttribute(radioButton,"readonly","readonly");
}
if(isDisabled){
defineAttribute(radioButton,"disabled","disabled");
}
if(isChecked){
defineAttribute(radioButton,"checked","checked");
}
buttonCol.appendChild(radioButton);
buttonRow.appendChild(buttonCol);
}
buttonGroupTable.normalize();
buttonGroupTable.appendChild(buttonRow);
td.innerHTML = buttonGroupTable;
tr.appendChild(td);
}
Or, à l'affichage, je me retrouve, quel que soit le navigateur, avec dans la dernière colonne de mon tableau un magnifique : [object HTMLTableElement] en lieu et place du tableau avec les boutons radios concernés.
Quelqu'un a une idée ?
D'avance merci...
DaCodeMaNIaK