【问题标题】:Textarea in IE8 Newline issueIE8换行问题中的Textarea
【发布时间】:2012-06-09 00:50:36
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    新行通常是\n\r

    【讨论】:

    • 这成功了。替换为 \n\r 并使用 val() 代替。谢谢!
    【解决方案2】:

    做一个替换操作,确保在每个\n之前有一个\r

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

    Fiddle

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

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

    【讨论】:

      【解决方案3】:

      只需使用“\r\n”换行即可。

      【讨论】:

      • 这会附加双换行符,为什么不\r\n
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 2023-03-18
      • 1970-01-01
      • 2013-10-10
      相关资源
      最近更新 更多