Hallo ihr,
ich habe jetzt wirklich viel gesucht und auch eine Menge zu dem Thema gefunden, aber leider sind noch offene Fragen geblieben und ich hoffe jemand von euch kann mir weiterhelfen.
Ich möchte mit einer Funktion eine Tabelle Erweitern. In der tabelle sind TBody-Elemente. Jedes TBody ist ein "Eintrag" bestehend aus mehreren Zeilen und Spalten. Jetzt möchte ich das wenn jemand auf einen Button klickt, ein weiterer (leerer) Eintrag in der tabelle hinzugefügt wird.
Nach einigem Forschen bin ich dazu gekommen, diese Funktion hier dafür zu verwenden:
<script type=\'text/javascript\'>
function newDienst(){
var tbl = document.getElementById(\'maintable\');
var Vorlage = document.getElementById(\'entry1\');
var NewEntry = document.createElement(\'tr\');
var NewText = Vorlage.innerHTML;
NewEntry.innerHTML = NewText;
tbl.appendChild(NewEntry);
};
</script>
in toller Erwartung ausprobiert und:
FF, Safari, Chrome: Funktioniert.
IE: Funktioniert nicht =(
Ich hab mich schlau gemacht und viele Beiträge gefunden, wo Leute durch solch einen aufruf eine Fehlermeldung (unbekannter Laufzeitfehler) erhalten haben. Grund wäre, dass der IE nicht über innerHTML in Tabellenelemente (tbody, tr usw.) schreiben kann, da er die Readonly macht.
Dann:
Der IE zeigt es an, allerdings ohne Tabellenelemente. Also wenn da vorher:
<tr><td><b>ICH BIN EIN TEXT</b></td></tr>
stand, steht da nachher im IE
b>ICH BIN EIN TEXT</b>
Ich habe dann mal ein wenig geforscht und alle Beiträge die ich gefunden hatte waren sehr alt. wenn man auf dieser seite schaut innerHTML-Property - MSDN sieht man, dass es wohl jetzt doch writeable ist.
Habe ich irgendwo einen totalen denkfehler? denn er schreibt ja über innerHTML was im IE. nur die Tabellenelemente nicht. aber warum unterscheidet der das? ich blick da nicht durch und wäre sehr froh, wenn mir jemand etwas Licht ins dunkle bringen könnte =)
Liebe Grüße und danke für eure Hilfe,
MusicMatthes