Ulli B.: Internet Explorer: Carriage Return in Textarea

Tach zusammen,

ich habe folgendes Problem:
ich habe eine einzeilige Textarea, bei der ich den horizontalen Scrollbalken vermeiden möchte. Das kriege ich auch noch einigermassen hin: ;)
<textarea cols="25" rows"1" style="overflow:auto; wrap:soft" onkeyup="replaceCr(this)">123456789012345678901234</textarea>

Wenn ich nun allerdings im IE am Ende der Zahlenkette einen Zeilenumbruch eingebe, wird die Textarea durch den unerwünschten horizontalen Scrollbalken überdeckt (jedes andere Zeichen beginnt wie erwünscht eine neue Zeile). Ursache des Erscheinens des Scrollbalkens ist wohl die Zeilenumbruch-Steuerung des IE, der als Steuerzeichen \r\n benutzt, wobei der CarriageReturn (\r) noch hinten an die Zeile angehängt wird.

Jetzt meine Frage: gibt es eine Möglichkeit, den \r aus der Zeilenumbruchssteuerung zu entfernen?

Mit Javascript hab ich das bereits folgendermaßen versucht:
function replaceCr(textarea) {
   var gekuerzt = textarea.value.replace(/\r/,"");
   textarea.value = gekuerzt;
}

Das replace funktioniert auch sogar, aber leider nur kurzfristig, denn wenn ich den gekürzten String wieder in die Textarea schreibe, ist der CarriageReturn (im IE) wieder da.

Hat da jemand ne Idee?

Danke und Gruß,
Ulli

  1. Hi,

    ich habe eine einzeilige Textarea, bei der ich den horizontalen Scrollbalken vermeiden möchte. Das kriege ich auch noch einigermassen hin: ;)
    <textarea cols="25" rows"1" style="overflow:auto; wrap:soft" onkeyup="replaceCr(this)">123456789012345678901234</textarea>

    Warum benutzt Du dafür nicht einfach ein <input type="text" ...> ?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Warum benutzt Du dafür nicht einfach ein <input type="text" ...> ?

      Das ist ne Textarea, weil das eigentlich ein großes Feld ist, welches ich aus platztechnischen Gründen dynamisch auf- und zuklappe. Geplante 500-1000 Zeichen einzeilig ist etwas unübersichtlich und nicht sehr benutzerfreundlich. ;)

      Gruß,
      Ulli

  2. Hallo,

    <textarea cols="25" rows"1" style="overflow:auto; wrap:soft" onkeyup="replaceCr(this)">123456789012345678901234</textarea>
    […] durch den unerwünschten horizontalen Scrollbalken überdeckt

    Warum verwendet du nicht einfach ein <http://de.selfhtml.org/html/formulare/eingabe.htm#felder@title=einzeiliges Eingabefeld>?

    PS: „wrap“ ist keine gültige CSS-Eigenschaft. Du meinst wahrscheinlich das gleichnamige Attribut.

    mfg. Daniel