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 :

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;
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
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>
Par contre sous IE, le code s'execute mais il ne crée pas les balises, donc pas les cases.

J'ai essayé avec une autre méthode sans le innerHTML :

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); */
La aussi Firefox crée bien les cases alors que IE non.

Si quelqu'un a une idée ce serait super sympa, j'y ai passé la journée !!!

Merci d'avance