carriage return in textarea retrieved as line feed

2020-03-24 15:37发布

问题:

How can I preserve a carriage return character in a text area?

textarea.value = "X" + String.fromCharCode("13") + "X";
textarea.value.charCodeAt(1); //returns 10, not 13

See here: http://jsfiddle.net/vah9e/

回答1:

According to W3C Textarea api value, it seems that when invoking the .value attribute of textarea, any carriage return or line feed is transformed into a LINE FEED (10) character (in fact W3C says CRFL but it seems the browsers prefer only LF) - so a script can be platform-independent on line feeds.

In a form data, it seems that the fine feeds are transformed into CRLF (13+10).

W3C speaks also about a raw value but it's probably internal to any javascript engine and it seems it's not available in Javascript.