【问题标题】:replace '\r\n' with '< br>' in Text area javascript? [duplicate]在文本区域 javascript 中将 '\r\n' 替换为 '<br>'? [复制]
【发布时间】:2017-07-06 18:13:39
【问题描述】:

当我按 Enter 时,我想在我的文本区域中插入 "&lt; br &gt;" 而不是新行 '\n\r', 示例:

我希望文本区域中的文本是:

"hello <br> dear", 

而不是

"hello
dear"

我尝试了这段代码,但没有成功:

$('#inputText').bind('keyup', function(e) {
   var data = $('#inputText').val();
   $('#inputText').text(data.replace(/\n/g, "<br />"));
}

【问题讨论】:

  • 如果您使用标准的&lt;input&gt;&lt;textarea&gt;,您是否不需要这样做?
  • 也许你在这里自欺欺人。我怀疑您是否需要在键入时显示&lt;br&gt;。事后转换数据不是更好吗?如果它存储在数据库中,您可以在插入/更新之前转换数据。
  • 不,我真的需要让它可见,有什么办法吗?
  • 显示然后保存

标签: jquery


【解决方案1】:

如果出现以下情况,您的代码将可以正常工作:-

1.bind() 转换为on()(因为bind() 已弃用)

2.text()必须是.val()

工作示例(也检查 cmets):-

// applied mouseout to prevent repetition on each key-press

//you can apply keyup also no problem

$('#inputText').on('mouseout', function(e) {
  var data = $('#inputText').val();
  $('#inputText').val(data.replace(/\n/g, "<br />")); // text() need be val()
}); // here ); missing in your given code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<textarea id="inputText"></textarea>

【讨论】:

    猜你喜欢
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多