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 中不显示换行符的主要内容,如果未能解决你的问题,请参考以下文章