[英]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.