Textarea 在 IE 中不显示换行符

Posted

技术标签:

【中文标题】Textarea 在 IE 中不显示换行符【英文标题】:Textarea doesn't show newline in IE 【发布时间】:2011-08-07 02:51:03 【问题描述】:

当文本被放入文本区域时,看起来 IE 会忽略文本中的 \r\n。以下是它在 FF/Chrome/Opera 中的外观:

Paragraph1 sometext
Paragraph2 othertext

在 IE7/8 中:

Paragraph1 sometextParagraph2 othertext

我尝试更改“新行”css 参数,但没有成功。有什么想法可能是错的吗?

我使用 asp.net 作为后端,我将文本分配给 textarea,但我怀疑它是否相关。

更新:似乎是 asp.net 为不同的浏览器呈现不同的 asp:TextArea - 对于 IE,它似乎忽略了换行符。当我用 textarea 替换 asp:TextBox 时,我得到了正确的结果。任何想法如何解决这个问题?

【问题讨论】:

如果您查看页面的源代码,您是否看到换行符?这会让你看看是后端问题还是前端问题。 嗯,当我查看源代码时,我在 Chrome 中看到了新行,但在 IE 中没有。可能是 IE 没有给我正确的源代码吗?我怀疑 asp.net 为不同的浏览器呈现不同的文本。 也许您应该显示将文本设置为文本框的代码。 @Mystere Man: txtMemberObjectives.Text = "Paragraph1 sometext\r\nParagraph2 othertext"; 好的,txtMemberObjectives 是一个带有 runat="server" 的 html <textarea> 吗?还是多行<asp:TextBox> 【参考方案1】:

原来我的问题与 textarea 本身无关,而是与我转义输出和取消转义输入的方式有关。我将针对该问题提出另一个问题。

【讨论】:

【参考方案2】:

我遇到了同样的问题,如果为标记为 TextMode="MultiLine" 的 TextBox 指定宽度会导致上述行为。我解决了它手动指定文本框的行和列属性。

【讨论】:

【参考方案3】:

“MultiLine”设置为“TextMode”的文本框是渲染到的,所以这不是问题...

【讨论】:

<asp:TextBox runat="server" TextMode="MultiLine"/> 等于 <textarea></textarea>【参考方案4】:

换行符是\r\n,而不是\n\r。是的,它有所作为。

【讨论】:

这是 \r\n 当然,我打错了我的问题。感谢您纠正我。

以上是关于Textarea 在 IE 中不显示换行符的主要内容,如果未能解决你的问题,请参考以下文章

HTML 在 textarea 中显示换行符

IE中的换行问题

当 TextArea 有很多行时,JScrollPane 在 Nimbus L&F 中不显示拇指

换行符在 Textarea 输出中不起作用

textarea的换行符处理以及正确的在Html中显示

换行符在 textarea 中显示为 \r\n