【问题标题】:Javascript preview box replace \n with <br>Javascript 预览框将 \n 替换为 <br>
【发布时间】:2012-02-15 23:46:47
【问题描述】:

我有一个 textarea 可以更新下面的 div 用于预览框。问题是当你按回车时,在预览框中它也应该输入一个回车。但它所做的是 1 次将 \n 更改为 br,然后其他的只是被替换为空格。我一般不使用javascript所以我很困惑。

我的代码:

<div class='fl' ><textarea id='textbox' onkeyup="document.getElementById('preview').innerHTML=document.getElementById('textbox').value.replace('\n','<br />');" name='description' class='arial f12' style='width:400px;height:200px;resize:vertical;'></textarea></div>
<div id='preview' class='f12 arial p10' style='background-color:#efefef;'></div>

例子:

1
2
3
4

结果如下:

1
2 3 4

谢谢大家!

【问题讨论】:

    标签: javascript html preview


    【解决方案1】:

    上面写着 .replace('\n','&lt;br /&gt;') 的地方改用 .replace(/\n/g,'&lt;br /&gt;')

    /g 表示“全局”,如“替换 所有 匹配项”。没有它,只有第一个匹配被替换

    【讨论】:

    • 哈哈,这很简单,谢谢。真的不知道那是什么所以我最初删除了它。
    【解决方案2】:

    试试这个:

    value.replace(/\n/g,'<br />')
    
    <div class='fl' ><textarea id='textbox' onkeyup="document.getElementById('preview').innerHTML=document.getElementById('textbox').value.replace(/\n/g,'<br />');" name='description' class='arial f12' style='width:400px;height:200px;resize:vertical;'></textarea></div>
    

    /g 使其成为全局替换(所有出现)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 2011-05-21
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2012-11-10
      相关资源
      最近更新 更多