Использование таблицы внутри dijit.form.ContentPane не работает в Internet Explorer 7 - PullRequest
1 голос
/ 13 ноября 2009

У меня проблемы с использованием таблицы внутри ContentPane. Кажется, он отлично работает в Firefox, но невидим в Internet Explorer 7. Приведенный ниже HTML-код показывает, что я имею в виду В Firefox вы получаете:

перед таблицей
Это стол
После стола

В Internet Explorer 7 вы получаете:

перед таблицей
После стола

Нет таблицы вообще. Кто-нибудь знает причину этой проблемы?

<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>

1 Ответ

4 голосов
/ 13 ноября 2009

Я нашел проблему. При создании таблицы программным способом вы должны убедиться, что вы размещаете узел tbody внутри узла таблицы (и узлов tr внутри него). Следующие работы:

<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>
...