Textarea在IE8 Newline问题

时间:2012-06-04 23:56:38

标签: javascript jquery internet-explorer-8 textarea newline

我正在制作一个跨浏览器的表单,这需要一个textarea。此textarea通过两种方式接收数据: - 向服务器发送Ajax调用并返回数据 - 用户输入的数据

http://jsfiddle.net/garrettwong/x3KSP/

我在IE8上遇到问题,其中textarea文本未格式化(换行未读取),而在Chrome中,相同的代码,很好地格式化textarea。我希望尽可能使用单独的JavaScript解决方案,但我不确定从哪里开始。

3 个答案:

答案 0 :(得分:8)

您为什么使用text()?使用val()设置值。

新行通常为\n\r

答案 1 :(得分:5)

执行替换操作以确保在每\r之前有\n

str = str.replace(/\r?\n/g, "\r\n");

Fiddle

浏览器使用\r\n进行换行,但现代浏览器(如Chrome和Firefox)也可以处理Unix风格的\n换行符。 IE8需要正确的\r\n换行符,这也适用于所有其他浏览器。

正如@epascarello所说,使用.val()来操纵textarea的value属性。

答案 2 :(得分:2)

只需使用“\ r \ n”代替新行。