markierter Text in textarea
Arne
- javascript
Hallo miteinander,
gibt es eine Möglichkeit in einem textarea textteile zu markieren und diese per Knopfdruck zu ändern? Also z.B. "Auswahl" ersetzen durch "<b>Auswahl</b>"? Hintergrund ist eine Administration für eine Newskomponente, in der Inhalte im Browser editiert und eben auch auf einfache Weise formatiert werden sollen. Ich habe schon eine Weile nach einer Methode gesucht, so was wie selectedText aber leider nichts gefunden. Kann jemand weiterhelfen?
Danke
Hi,
gibt es eine Möglichkeit in einem textarea textteile zu markieren und diese per Knopfdruck zu ändern? Also z.B. "Auswahl" ersetzen durch "<b>Auswahl</b>"?
Ja!
..document.getSelection(NN 4.xx) und document.selection(IE).
Der Rest ist "Suchen & Ersetzen".
Grüße,
Martin
Hallo,
es gibt da eine untermethode zu document namens getSelection().
die wird allerdings nur von netscape unterstützt.
mehr kann ich leider nicht sagen.
viel erfolg noch bei der suche
ff
Hi Du,
gibt es eine Möglichkeit in einem textarea textteile zu markieren [...]
NN4: Man kann man leider nicht rauskriegen, was in einer Textarea markiert ist.
IE4+: Man kann nur rauskriegen, _was_ markiert ist: document.forms[N].EINGABEFELDNAME.document.selection.createRange().text
NN6: Der einzige, der das kann, was Du eigentlich brauchst: es gibt document.forms[N].EINGABEFELDNAME.selectionStart und document.forms[N].EINGABEFELDNAME.selectionEnd
In letzteren Fall kannst Du dann also am .value rundoktorn, beim IE kannst Du höchstens noch auf Gut Glück das .value durchsuchen und gucken, ob es einen solchen Text gibt bzw. hoffen, dass der nur einmal vorkommt, und dann annehmen, das jener der markierte ist.
Tja...
Mirko
Hi,
NN4: Man kann man leider nicht rauskriegen, was in einer Textarea markiert ist.
IE4+: Man kann nur rauskriegen, _was_ markiert ist: document.forms[N].EINGABEFELDNAME.document.selection.createRange().text
stimmt...da war ich doch etwas zu hastig...
Grüße,
Martin
Hi,
hier ist das was Du brauchst, funktioniert aber nur ab IE5.
function auswahl(art) {
if (aktivFeld != "") {
tmpFeld = eval("document.maske." + aktivFeld);
tmpFeld1 = tmpFeld.value;
tmp = document.selection.createRange();
if (tmp.text != "") tmp.text = "<" + art + ">" + tmp.text + "</" + art + ">";
}
return;
}
der Button könnte so aussehen:
<a href="#" onClick="auswahl(this,'b');return false;" onmouseover="window.defaultStatus='';window.status='ausgewählten Text im Fettdruck darstellen';return true"><img src="gif/fett.gif" width=16 height=16 border=0 alt="Fettschrift"></a>
und hier die Textarea:
<form name="maske"><textarea onselect="aktivFeld = 'meldung1';return true" name="meldung1" rows=6 cols=43 wrap=virtual></textarea></form>
MfG
Stefen
Ich nochmal,
das ist ein Fehler reingerutscht!
der Button könnte so aussehen:
<a href="#" onClick="auswahl(this,'b');return false;" onmouseover="window.defaultStatus='';window.status='ausgewählten Text im Fettdruck darstellen';return true"><img src="gif/fett.gif" width=16 height=16 border=0 alt="Fettschrift"></a>
richtig ist so:
der Button könnte so aussehen:
<a href="#" onClick="auswahl('b');return false;" onmouseover="window.defaultStatus='';window.status='ausgewählten Text im Fettdruck darstellen';return true"><img src="gif/fett.gif" width=16 height=16 border=0 alt="Fettschrift"></a>
Hallo Arne,
gibt es eine Möglichkeit in einem textarea textteile zu markieren und diese per Knopfdruck zu ändern? Also z.B. "Auswahl" ersetzen durch "<b>Auswahl</b>"? Hintergrund ist eine Administration für eine Newskomponente, in der Inhalte im Browser editiert und eben auch auf einfache Weise formatiert werden sollen. Ich habe schon eine Weile nach einer Methode gesucht, so was wie selectedText aber leider nichts gefunden. Kann jemand weiterhelfen?
Einer sagte im Thread, der Rest ist suchen und ersetzen. Naja Suchen ist das Zauberwort:
http://www.teamone.de/selfhtml/sfarchiv/2000_2/t14503.htm#a73551
Viele Grüße
Antje
Danke für die Hilfe :o)
@ Antje - ich habe gesucht, wahrscheinlich nicht die richtigen Begriffe gewählt....