Kompatibilität von IE 6 und Tabellen

Shrinkman

Grünschnabel
Hallo zusammen,

ich hoffe, ich habe bei meiner verzweifelten Suche im Forum nicht die Lösung übersehen!

Folgendes Problem:
Ich schreibe an einer Web-Anwendung, welche auf AJAX basiert. Diese läuft in einer ziemlich abgesicherten Netzwerk-Umgebung, wo derzeit auschliesslich der IE 6.0 im Einsatz ist!

Für eine sinnvolle Übersichtlichkeit brauche ich eine Tabelle, wo in den Zellen ebenfalls wieder eine kleinere Tabelle dargestellt werden soll.

Unter IE 7, Firefox, etc geht alles prima, nur unter dem IE 6 nicht!

Die entsprechende Stelle im Code:

var AGLOElement = document.createElement('table');
AGLOElement=AGLOTable(var1, var2, dataObject.var3);
var AGLOtdElement = document.createElement("td");
AGLOtdElement.appendChild(AGLOElement);


Die Function AGLOTable liefert eine komplette Tabelle inkl. tBody zurück:
UsertableElement.appendChild(UsertbodyElement);
return UsertableElement;


Ist das ein bekanntes Problem des IE6? Gibts einen Workaround? Evtl. über innerHTML?
 
Hi,

wo genau liegt das eigentliche Problem?

Einfachere Tabellen in Zellen einzuhängen sollte eigentlich kein Problem darstellen - auch nicht im IE6.
Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
  <!--
function theFunc(){
  var dataObject = {};
  var1 = var2 = dataObject.var3 = 1;

  // Neues Tabellenobjekt
  var AGLOElement = AGLOTable(var1, var2, dataObject.var3);

  // Neue Zelle
  var AGLOtdElement = document.createElement("td");

  // Neues Tabellenobjekt in Zelle einhängen
  AGLOtdElement.appendChild(AGLOElement);

  // Neue Zeile am Ende anlegen und Zelle einhängen
  document.getElementById("tableID").insertRow(document.getElementById("tableID").rows.length).appendChild(AGLOtdElement);
}

function AGLOTable(var1, var2, obj){
  var objTable = document.createElement("table");
  objTable.setAttribute("border", "2");
  var objTBody = document.createElement("tbody");
  var objRow = document.createElement("tr");

  for(var i=0; i<3; i++){
    var objCell = document.createElement("td");
    objCell.appendChild(document.createTextNode("Ich bin neu (" + i + ")"));
    objRow.appendChild(objCell);
  }

  objTBody.appendChild(objRow);
  objTable.appendChild(objTBody);

  return objTable;
}
 //-->
</script>
</head>
<body>
<button onclick="theFunc();">theFunc()</button>
<table border="1" id="tableID">
  <tr><td>Eins</td></tr>
  <tr><td>Zwei</td></tr>
  <tr><td>Drei</td></tr>
</table>
</body>
</html>
Oft treten aber Schwierigkeiten auf, wenn mit colspan und/oder rowspan gearbeitet wird.

Ciao
Quaese
 
Erstmal vielen Dank für deine Mühe!

Im Prinzip habe ich das ja genauso im Quelltext stehen! Dennoch schmiert er
bei genau dieser Zeile dann ab:

AGLOtdElement.appendChild(AGLOElement);

Und das weder unter IE 7, noch unter Firefox!

Aber schon mal gut zu wissen, dass das grundsätzlich gehen müsste!
 

Neue Beiträge

Zurück