先更正一下:标题只是一个噱头,其实js根本读取不到textarea里的自动换行符。
<textarea id="textTest" style="width:300px;height:300px;"></textarea>
<span id="Btn">获取内容</span>
<div id="txt"></div>
<script>
document.getElementById('Btn').addEventListener(click,function(){
document.getElementById('txt').innerHTML = document.getElementById('textTest').value;
})
</script>
在textarea中增加属性wrap="hard",通过同步提交可以在后台服务器获取到自动换行符。
<form method="post" action="http://www.xinran001.com/">
<textarea name="texta" id="textTest" style="width:600px;height:300px;" wrap="hard"></textarea>
<input type="submit">
</form>
如果是在textarea里手动去换行,那是可以通过js读取到换行符的。
<textarea id="textTest" style="width:600px;height:300px;"></textarea>
<span id="textBtn">获取换行符</span>
<div id="txt"></div>
<script>
document.getElementById('textBtn').addEventListener(click,function(){
document.getElementById('txt').innerHTML = document.getElementById('textTest').value.replace(/\n/g, "<br>").replace(/\r/g, "<br>");
})
</script>
延伸:CR + LF是什么
- CR:Carriage Return,对应ASCII中转义字符\r,表示回车
- LF:Linefeed,对应ASCII中转义字符\n,表示换行
- CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行
Windows操作系统采用两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。