标签: javascript jquery internet-explorer-8 textarea newline
我正在制作一个跨浏览器的表单,这需要一个textarea。此textarea通过两种方式接收数据: - 向服务器发送Ajax调用并返回数据 - 用户输入的数据
http://jsfiddle.net/garrettwong/x3KSP/
我在IE8上遇到问题,其中textarea文本未格式化(换行未读取),而在Chrome中,相同的代码,很好地格式化textarea。我希望尽可能使用单独的JavaScript解决方案,但我不确定从哪里开始。
答案 0 :(得分:8)
您为什么使用text()?使用val()设置值。
text()
val()
新行通常为\n\r。
\n\r
答案 1 :(得分:5)
执行替换操作以确保在每\r之前有\n:
\r
\n
str = str.replace(/\r?\n/g, "\r\n");
Fiddle
浏览器使用\r\n进行换行,但现代浏览器(如Chrome和Firefox)也可以处理Unix风格的\n换行符。 IE8需要正确的\r\n换行符,这也适用于所有其他浏览器。
\r\n
正如@epascarello所说,使用.val()来操纵textarea的value属性。
.val()
value
答案 2 :(得分:2)
只需使用“\ r \ n”代替新行。