Bonjour,
J'ai un bug pour insérer des checkbox dans une page html. Sous Firefox tout fonctionne mais sous IE les cases ne sont pas insérées. Voici le code :
Je récupère plusieurs infos dans lst, puis je crée une ligne html contenant tous les attributs qu'il faut, puis je viens insérer cette ligne dans une balise <table id="listeObjets">. A l'écran, j'ai bien mes cases. Voici le code HTML généré sous FireFox :
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 var inHTML = ""; for (j = 0; j < lst.length ; j++) { inHTML += "<tr><td id='chkObj'" + j ; inHTML += "><input type='checkbox' id='chkChoix" + j; inHTML += "' oq='" + lst.item(j).getAttribute("oq"); inHTML += "' name='checkobj'" ; inHTML += "' onclick='gestionObjetsVisible(this)' value=true >"; inHTML += lst.item(j).getAttribute("oq"); inHTML += "</td></tr>" } $('listeObjets').innerHTML = inHTML;
Par contre sous IE, le code s'execute mais il ne crée pas les balises, donc pas les cases.
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 <table border="0" width="100%" style="font-size: 12px; visibility: visible;" id="listeObjets"> <tbody> <tr> <td 0="" id="chkObj"> <input type="checkbox" value="true" onclick="gestionObjetsVisible(this)" name="checkobj" oq="Application" id="chkChoix0">Application </td> </tr> <tr> <td 1="" id="chkObj"> <input type="checkbox" value="true" onclick="gestionObjetsVisible(this)" name="checkobj" oq="Acteur" id="chkChoix1">Acteur </td> </tr> <tr> <td 2="" id="chkObj"> <input type="checkbox" value="true" onclick="gestionObjetsVisible(this)" name="checkobj" oq="Processus" id="chkChoix2">Processus </td> </tr> </tbody> </table>
J'ai essayé avec une autre méthode sans le innerHTML :
La aussi Firefox crée bien les cases alors que IE non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var trNode = document.createElement("tr"); var tdNode = document.createElement("td"); var inputNode = document.createElement("input"); inputNode.type = 'checkbox'; inputNode.name = 'chkObj' + j ; inputNode.value = false; inputNode.setAttribute('oq',lst.item(j).getAttribute("oq")) inputNode.onClick = 'gestionObjetsVisible(this)' value=true ; tdNode.appendChild(inputNode); trNode.appendChild(tdNode); document.getElementById("listeObjets").appendChild(trNode); */
Si quelqu'un a une idée ce serait super sympa, j'y ai passé la journée !!!
Merci d'avance
Partager