Lars: Zeilenumbruch im Textfeld entfernen

Hallo zusammen,
ich habe einen Chat implementiert, der auf die Eingabe der Enter-Taste eine Nachricht aus dem Textfeld ausliest.

document.getElementById("MyTextArea").onkeydown=function(e){
   e = (e)?e:window.event;
   var keyCode=(e.keyCode)?e.keyCode:e.which;
   if(keyCode==13){//Enter pressed
      alert("Enter pressed");
   }
}

Nachdem ich nun eine Eingabe gemacht habe und Enter drücke, lösche ich den eingegebenen Text mit document.getElementById("MyTextArea").value="";. Obwohl ich der textarea einen leeren String zuweise, wird belibt der erste Zeilenumbruch durch das Enter stehen, wodurch das ganze textfeld um ein Zeile nach unten versetzt ist.

Wie kann ich diesen Zeilenumbruch mit Java-Script entfernen?

Viele Dank und Grüße,
Lars

  1. Hallo,

    document.getElementById("MyTextArea").onkeydown=function(e){
    [...]
    }

    Nachdem ich nun eine Eingabe gemacht habe und Enter drücke, lösche ich den eingegebenen Text mit document.getElementById("MyTextArea").value="";. Obwohl ich der textarea einen leeren String zuweise, wird belibt der erste Zeilenumbruch durch das Enter stehen, wodurch das ganze textfeld um ein Zeile nach unten versetzt ist.

    Ist ja auch logisch: Der Eventhandler wird aufgerufen, _bevor_ die Standardbehandlung des Events stattfindet. Also wird in deinem Fall _erst_ das Eingabefeld gelöscht, dann die Enter-Taste verarbeitet, also ein Zeilenumbruch ins Textfeld eingefügt.

    Wie kann ich diesen Zeilenumbruch mit Java-Script entfernen?

    Sorge dafür, dass er gar nicht erst reinkommt: Unterbinde die Default-Eventbehandlung, indem du false zurückgibst.

    Ciao,
     Martin

    --
    Kleine Geschenke erhalten die Freundschaft.
    Große verderben sie aber meist auch nicht.