2009-11-12 3 views
1

Je rencontre des problèmes lors de l'utilisation d'une table dans un ContentPane. Il semble fonctionner correctement dans Firefox mais est invisible dans Internet Explorer 7. Le code HTML ci-dessous montre ce que je veux dire. Dans Firefox, vous obtenez:L'utilisation de la table à l'intérieur de dijit.form.ContentPane ne fonctionne pas dans Internet Explorer 7

Avant le tableau
Voici le tableau
Après le tableau

Dans Internet Explorer 7, vous obtenez:

Avant Table
Après le tableau

Pas de table du tout . Est-ce que quelqu'un sait la cause de ce problème?

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="http://o.aolcdn.com/dojo/1.3.2/dojo/resources/dojo.css" /> 
<link rel="stylesheet" type="text/css" href="http://o.aolcdn.com/dojo/1.3.2/dijit/themes/tundra/tundra.css" /> 
<script djConfig="parseOnLoad:true" type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js"> 
</script> 
<script type="text/javascript"> 
dojo.require("dijit.layout.ContentPane"); 
dojo.require("dijit.layout.TabContainer"); 
dojo.require("dijit.form.Form"); 
dojo.addOnLoad(initialize); 
function initialize() { 
    var contentPane = new dijit.layout.ContentPane({}); 
contentPane.domNode.appendChild(document.createTextNode("Before Table")); 
var table = document.createElement("table"); 
var tr = document.createElement("tr"); 
var td = document.createElement("td"); 
td.appendChild(document.createTextNode("This is the table")); 
tr.appendChild(td); 
table.appendChild(tr); 
contentPane.domNode.appendChild(table); 
contentPane.domNode.appendChild(document.createTextNode("After Table")); 
dojo.place(contentPane.domNode, dojo.body(), "first"); 
} 
</script> 
</head> 
<body class="tundra"></body> 
</html> 

Répondre

4

J'ai trouvé le problème. Lorsque vous créez une table par programmation, vous devez vous assurer de placer un noeud tbody dans le noeud table (et les noeuds tr dans celui-ci). Les travaux suivants:

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="http://o.aolcdn.com/dojo/1.3.2/dojo/resources/dojo.css" /> 
<link rel="stylesheet" type="text/css" href="http://o.aolcdn.com/dojo/1.3.2/dijit/themes/tundra/tundra.css" /> 
<script djConfig="parseOnLoad:true" type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js"> 
</script> 
<script type="text/javascript"> 
dojo.require("dijit.layout.ContentPane"); 
dojo.addOnLoad(initialize); 
function initialize() { 
    var contentPane = new dijit.layout.ContentPane({}); 
    contentPane.domNode.appendChild(document.createTextNode("Before Table")); 
    var table = document.createElement("table"); 
    var tbody = document.createElement("tbody"); 
    var tr = document.createElement("tr"); 
    var td = document.createElement("td"); 
    td.appendChild(document.createTextNode("This is the table")); 
    tr.appendChild(td); 
    tbody.appendChild(tr); 
    table.appendChild(tbody); 
    contentPane.domNode.appendChild(table); 
    contentPane.domNode.appendChild(document.createTextNode("After Table")); 
    dojo.place(contentPane.domNode, dojo.body(), "first"); 
} 
</script> 
</head> 
<body class="tundra"></body> 
</html> 
Questions connexes