【问题标题】:Show newlines in html textarea在 html textarea 中显示换行符
【发布时间】:2011-04-07 14:50:21
【问题描述】:

我有一个 textarea,我将它的文本设置为一个包含 \n 的字符串。我希望这代表一个换行符。

$("#ConfirmEmailText").text("test\n\ntest\ntest");

但是,我得到的只是一个选项卡而不是一个新行。

如果我在框中添加一些额外的文本,然后按 Enter。我可以在单独的行上看到文本。然后我把这个框中的文字用电子邮件发送出去。在电子邮件中,\n 和我添加一些文本时的 [enter] 都显示为电子邮件中的换行符...

为什么这在我的 textarea 中不能正确显示?

谢谢!

【问题讨论】:

  • @Diodeus:我不这么认为,这个问题是关于在硬中断处添加段落标记。我认为这里的 OP 只是希望硬休息得到尊重。
  • @T.J.没错,当我的字符串中包含 \n 时,我希望它显示的效果与用户在文本区域内按下 enter 相同。
  • @people 投票赞成关闭 - 如果你评论说你为什么要投票结束并给我一个回应的机会,那就太好了......这不是重复的,所以我不是确定为什么需要关闭它...

标签: jquery html


【解决方案1】:

设置value 而不是innerText

$("#ConfirmEmailText").val("test\n\ntest\ntest");

【讨论】:

【解决方案2】:

试试

text = text.replace("\n","<br/>");

【讨论】:

    【解决方案3】:

    你试过了吗?

       text = text.replace(/(\r\n|\r|\n)/g, '\n');
    

    或者使用 DOM 结构的 .nodeValue 属性。

    编辑:我可能还不清楚。而不是使用 innerHTML 来设置文本尝试使用 nodeValue

    【讨论】:

      猜你喜欢
      • 2012-11-09
      • 1970-01-01
      • 2011-08-07
      • 2013-11-03
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多