【问题标题】:Textarea doesn't show newline in IETextarea 在 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>

标签: asp.net html css internet-explorer textarea


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

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

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

      【讨论】:

      • 这是 \r\n 当然,我打错了我的问题。感谢您纠正我。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      相关资源
      最近更新 更多