繁体   English   中英

用。替换多行文本框中的换行符<br/>

[英]Replacing newline in multiline textbox with <br/>

我试图使用多行文本框将文本插入到显示为html的表中。 我想用javascript取文本框内的文本并找到用户按下的位置并在该位置放置“ <br/> ”,这样当显示文本时它将显示换行符。 有关如何做到这一点的任何想法?

我试过这样的东西,但它没有用。

var text = document.getElementById("announcementid").value;


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

            text = newtext;

newtext变量最终是来自announcementid元素的原始字符串的副本 因此,您需要在原始文档元素上重新设置value属性:

  var text = document.getElementById("announcementid").value;
  var newtext = text.replace(/\n/g, "<br />");
  document.getElementById("announcementid").value = newtext; 

此外,正如Konstantin所指出的,除非传入全局正则表达式,否则Javascript中的replace()函数将替换第一个实例。

小提琴的例子

文本是原始的,因此它不会替换值。 使用正则表达式进行全局替换而不是仅替换第一个实例:

var text = document.getElementById("announcementid").value;
var newtext = text.replace(/\n/g, "<br />");
document.getElementById("announcementid").value = newtext;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM