繁体   English   中英

多行textarea值:所有行中都不存在换行符

[英]Multiline textarea value: line feed not present in all lines

我发现了一个奇怪的错误(?)与textareas ...

比方说,有一个带有多行文字的<textarea> (用户粘贴的文本或预先设置的文本无关紧要,用两者进行测试)。

我想从<textarea>获取文本并将\\n替换为其他内容...结果, .replace仅在第一行中起作用。

这是代码,看看我的意思:

<textarea id="txt">line1
line2
line3
line4</textarea>

<script>
var strval = document.getElementById("txt").value.replace("\n", "<br>");
// strval returns this:

// line1<br>line2
// line3
// line4
</script>

我用Chrome和Firefox测试了这个。 这是一个jsfiddle https://jsfiddle.net/aapgejvb/

怪啊? 我刚刚在WebKit中发现了一个错误或者我是愚蠢的吗?

PS。 用jQuery的.val()测试,结果相同(显然)

PPS。 发现这一点 ,并没有多大帮助

.replace("\\n", "<br>")只会替换\\n (换行符)的第一次出现。 要替换所有你应该使用replace(/\\n/g, "<br />");

演示: https//jsfiddle.net/aapgejvb/2/

暂无
暂无

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

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