Manuel: Textfeld mit Zeilenumbrüchen.

Folgende Funktion wird bei einem Klick auf einen Link ausgeführt:

document.getElementById("textfeld").innerHTML = text.replace(auswahl,"[re]"+auswahl+"[/re]");

Wobei die Variable 'text' der Text in einer <Textarea id="textfeld"> und die Variable 'auswahl' ein selektierter Teil daraus ist.
Es funktioniert zwar, jedoch verliert der Text dann bei der Ausgabe sämtliche Zeilenumbrüche. Wie kann ich das verhindern?

Schöne Grüße und danke im Voraus,
-Manuel

  1. Moin!

    Folgende Funktion wird bei einem Klick auf einen Link ausgeführt:

    document.getElementById("textfeld").innerHTML = text.replace(auswahl,"[re]"+auswahl+"[/re]");

    Wobei die Variable 'text' der Text in einer <Textarea id="textfeld"> und die Variable 'auswahl' ein selektierter Teil daraus ist.
    Es funktioniert zwar, jedoch verliert der Text dann bei der Ausgabe sämtliche Zeilenumbrüche. Wie kann ich das verhindern?

    Ich würde mal behaupten, daß auch vorher schon keinerlei Zeilenumbrüche drinwaren. Jedenfalls ist es ein typisches Phänomen, daß Textareas lediglich \n als Textumbruch senden, der Browser dort aber den Text in normalen HTML-Bereichen nicht umbricht - dazu benötigt man <br>.

    Ansonsten solltest du mal etwas mehr Code posten. Und ich könnte mir auch vorstellen (jedenfalls war es das letzte Mal so, als ich nachgesehen habe), daß du die Textarea doch besser kompatibel zu allem Browsern so ansprechen solltest:
    document.FORMULARNAME.textfeld.value = dieauswahl

    Dann bleiben die Zeilenumbrüche (sofern welche enthalten sind) sehr wahrscheinlich erhalten. innerHTML ist AFAIK kein W3C-DOM-Standard, funktioniert also nicht in Opera. Meine Methode schon. Und durch innerHTML wird möglicherweise jeglicher Zeilenumbruch entfernt.

    - Sven Rautenberg