Ich schreibe einen WYSIWYG Editor zur Zeit, soweit tut auch schon alles, aber jetzt bin ich grade dran Tabellen einfügen möglich zu machen:
So, wie bekomme ich nun das table in den Editor?
Hab schon mehrere Varianten versucht, habe nur ein Beispiel gefunden, dieses verwendet folgendes:
Aber da kommt der Fehler Objekt erwartet. Und ich finde auch nichts über den Befehl im Internet.
Setze ich e.contentWindow.document. davor, so kommt Objekt unterstützt diese Eigenschaft oder Methode nicht.
Habe dann noch andere Varianten versucht, z.B.
Aber ich komme einfach nicht weiter, hat jemand vielleicht einen Tipp, wie ich die Tabelle in den Editor bekomme?
Code:
<form name="form1" action="<?php echo $PHP_SELF; ?>" method="post"> <button type="button" name="tabelle" onclick="insertTable();"> <img src="table.gif"> </button> <iframe name="editorB<?php echo $j ?>" id="editorB<?php echo $j ?>" width="90%" height="500" ></iframe><br> <script> function insertTable() { e = document.getElementById('editorB<?php echo $j ?>'); rowstext = prompt("enter rows"); colstext = prompt("enter cols"); rows = parseInt(rowstext); cols = parseInt(colstext); if ((rows > 0) && (cols > 0)) { table = e.contentWindow.document.createElement("table"); table.setAttribute("border", "1"); table.setAttribute("cellpadding", "2"); table.setAttribute("cellspacing", "2"); tbody = e.contentWindow.document.createElement("tbody"); for (var i=0; i < rows; i++) { tr =e.contentWindow.document.createElement("tr"); for (var j=0; j < cols; j++) { td =e.contentWindow.document.createElement("td"); br =e.contentWindow.document.createElement("br"); td.appendChild(br); tr.appendChild(td); } tbody.appendChild(tr); } table.appendChild(tbody);
Hab schon mehrere Varianten versucht, habe nur ein Beispiel gefunden, dieses verwendet folgendes:
Code:
insertNodeAtSelection(e.contentWindow, table);
Setze ich e.contentWindow.document. davor, so kommt Objekt unterstützt diese Eigenschaft oder Methode nicht.
Habe dann noch andere Varianten versucht, z.B.
Code:
e.contentWindow.document.execCommand('insertParagraph', false, 'Tabelle1'); e.contentWindow.document.getElementByID('Tabelle1').appendChild(table);
Kommentar