jQuery textarea append newline behavior

Suan picture Suan · Jan 29, 2010 · Viewed 92.6k times · Source

I'm trying to append a strings which end in newlines to a textarea using jQuery. However, different newline tokens show different behavior in Firefox3.5 and IE8, and I can't seem to find a way to use something that works for both browsers.

  • \n works in FF but not in IE
  • <br/> and \r\n work in IE but not in FF
  • No luck using <pre></pre> tags either

I've seen info on the IE innerHTML issue but I'm not exactly sure how to best approach this problem in jQuery. Thanks for any help!

Answer

Doug Neiner picture Doug Neiner · Jan 29, 2010

Not sure how you are setting the textarea content, but if you use the jQuery val method, \n works consistently in Firefox and IE (Including IE8):

var txt = $("textarea#idhere");
txt.val( txt.val() + "\nSomething here\n\nAgain");

Causes the textarea to display:

Existing content
and linebreaks if any.
Something here

Again

You can see a demo here that works in FF and IE8: Demo | Source