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

时间:2012-11-07 18:42:34

标签: c# asp.net

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

我试过这样的事情,但是没有用。

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


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

            text = newtext;

2 个答案:

答案 0 :(得分:3)

newtext变量最终成为announcementid元素中原始字符串的副本。因此,您需要重新 - 设置原始文档元素上的value属性:

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

另外,正如Konstantin指出的那样,Javascript中的replace()函数只会替换第一个实例,除非您传入全局正则表达式。

Fiddle example

答案 1 :(得分:0)

Text是一个原语,因此不会替换该值。使用正则表达式进行全局替换,而不是仅替换第一个实例:

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