WYSIWYG
Gerold Kumpfhuber
- javascript
Hallo!
Habe einen Wysiwyg Editor mit Tabellenfunktion gebaut. Möchte nun die Tabellenfunktion erweitern, sodass Spalten und Zeilen eingefügt bzw. gelöscht werden können. Wie kann das realisiert werden.
LG
Gerold
Hallo Gerold,
Wie kann das realisiert werden.
Nicht ohne einen Blick in den Quellcode. Da das ja eine groessere Sache ist, stellst du es am besten mal ins Web.
Gruß,
Dieter
Lieber Dieter,
ins Web stellen kann ich es nicht, da dies für ein Intranet ist und ich keinen Webspace habe. Die Tabelle erzeuge ich auf folgende art:
function CreateTable(){
var zeile = prompt("Zeilenanzahl","1");
var spalte = prompt("Spaltenanzahl","1");
var text='<table border="1" width="100%">';
var widthSpalte = 100/spalte;
for (i=0;i<zeile;i++){
text+='<tr>';
for (j=0;j<spalte;j++){
text += '<td width="'+widthSpalte+'%" valign="top"></td>';
}
text+='</tr>';
}
text+='</table>';
editor_content.document.selection.createRange().pasteHTML(text);
}
und stelle sie dann im iframe dar:
<iframe width="100%" id="editor_content" src="blank.html" height="280"></iframe>
LG
Gerold
Hallo Gerold,
Ich habe nie was mit pasteHTML gemacht, weil es nur im IE funktioniert. Meiner Ansicht nach waerest Du gut beraten mit http://de.selfhtml.org/javascript/objekte/node.htm. Dort findest du so ziemlich alle DOM-Methoden zum Erzeugen, Manipulieren und Loeschen von Elementen.
Gruß,
Dieter
Lieber Dieter,
vielen Dank für die Antwort. Da ich im Bereich Intranet arbeite, genügt es nur für den IE zu schreiben, da ich ja weis, dass jeder den IE hat. Bin aber offen es anders zu machen. Wie erzeugst Du die Tabelle? Kannst Du mir den Code zukommen lassen.
LG
Gerold
Hallo Gerold,
Wie erzeugst Du die Tabelle?
Ich habe gerade keinen Tabellencode zur Hand, aber immerhin ein Inputfeld, der Code ist ja immer aehnlich:
var userField = document.createElement('input');
userField.setAttribute('name', 'user' + nextNum + '[user]', 'false');
userField.setAttribute('type', 'text', 'false');
userField.value = 'John Doe';
und dann an passender Stelle:
document.getElementById('foo').appendChild(userField);
Lies doch mal Peters Artikel zum Thema:
http://aktuell.de.selfhtml.org/artikel/javascript/table-obj/index.htm
Gruß,
Dieter
gruss Dieter, hallo Gerold,
Lies doch mal Peters Artikel zum Thema:
http://aktuell.de.selfhtml.org/artikel/javascript/table-obj/index.htm
*huestel* ... aehm .., das ist zuviel der ehre und zeigt mir einmal mehr,
dass ich diesen artikel bis zur self-version 8.1 dringend ueberarbeiten muss.
bis dahin muss ich Euch leider im regen stehen lassen und kann nur auf
diesen beitrag im forumsarchiv verweisen:
http://forum.de.selfhtml.org/archiv/2004/3/t75923/#m437914
by(t)e by(t)e - peterS. - pseliger@gmx.net
hallo Dieter,
Ich habe nie was mit pasteHTML gemacht, weil es nur im IE funktioniert.
Naja, wenn es um ein Intranet geht und man als Admin weiß, daß alle Mitarbeiter eh nix andres benutzen können als den IE ist das schon eine Option. Außerdem soll ein WYSIWYG-Editor ja wohl auch etwas schreiben und wahrscheinlich speichern können, und da gibts einiges, was sich mit JScript (_nicht_ mit Javascript) tatsächlich tun läßt. Ich würde in einem Intranet auch mit ActiveX-Controls herumexperimentieren.
Meiner Ansicht nach waerest Du gut beraten mit http://de.selfhtml.org/javascript/objekte/node.htm. Dort findest du so ziemlich alle DOM-Methoden zum Erzeugen, Manipulieren und Loeschen von Elementen.
Für Javascript ja, aber JScript hat noch ein paar "Features" mehr, die inbesondere für das Thema eines WYSIWYG-Editors relevant sind. Es sollte dazu aber in den systemeigenen Windows-Hilfen ausreichende Auskunft geben (Informationen zum "Scripting Host").
Grüße aus Berlin
Christoph S.