IE8中的Textarea换行问题

4
我正在制作一个跨浏览器的表单,其中需要使用textarea。这个textarea有两种方式接收数据: - 发送Ajax调用到服务器并返回数据 - 用户输入的数据
链接:http://jsfiddle.net/garrettwong/x3KSP/ 在IE8中,我遇到了一个问题,即textarea文本未被格式化(换行符未被读取),而在Chrome中,相同的代码可以很好地格式化textarea。如果可能的话,我希望使用JavaScript解决方案,但我不确定下一步该怎么做。
3个回答

8

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

换行通常是\n\r


这个方法很有效。使用 \n\r 进行替换,并使用 val() 代替。谢谢! - Garrett

5

执行替换操作,确保在每个\n之前都有一个\r:

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

Fiddle

浏览器使用\r\n作为换行符,但像Chrome和Firefox这样的现代浏览器也可以处理类Unix的\n换行符。IE8需要正确的\r\n换行符,这在其他所有浏览器中也有效。

而且就像@epascarello所指出的,使用.val()来操作文本区域的value属性。


2
只需使用"\r\n"来换行。

这会添加双换行符,为什么不用 \r\n - vp_arth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接