Thomas: WYSIWYG/ selection.createRange()

Beitrag lesen

Hallo!

Ich baue momentan einen WYSIWYG-Editor und bin gerade dabei Tabellen auf Knopfdruck einzufügen. Das Problem ist, sobald ich im Iframe Text stehen habe, einen Teil davon markiere, löscht er den kompletten Text, nicht nur das markierte und setzt dann die Tabelle dafür hin.
Zum besseren Verständnis, hier der Quellcode:

<html>
<head>
<script>
 function Init() {iView.document.designMode = 'On';}

function CreateTable(){
          var zeile = prompt("Bitte geben Sie die Zeilenanzahl der Tabelle an","1");
          var spalte = prompt("Bitte geben Sie die Spaltenanzahl der Tabelle an","1");
          var text='<table border="1">';
          for (i=0;i<zeile;i++){
               text+='<tr>';
               for (j=0;j<spalte;j++){
                    text += '<td></td>';
               }
               text+='</tr>';
          }
          text+='</table>';
          iView.document.body.innerText = iView.document.body.innerHTML;
          iView.document.selection.createRange().text = text;
          iView.document.body.innerHTML = iView.document.body.innerText;
}
</script>
</head><body onLoad="Init();">

<img class="butclass" src="http://localhost/createtable.gif" alt="Tabelle" title="Tabelle einfügen" onClick="iView.focus(); CreateTable();"/>

<iframe id="iView"  style="width:100%; height:450px;"></iframe>
</body></html>

Vielleicht weiss einer von euch weiter.

Thomas