简体   繁体   English

HTML textarea到javascript并保持换行

[英]HTML textarea to javascript and keep line break

I am trying to pass a HTML <textarea> through JavaScript, and want to keep the line breaks. 我正在尝试通过JavaScript传递HTML <textarea> ,并希望保持换行。 Ex when I write: 例如,当我写:

Line a
Line b

It comes out as: 结果如下:

Line a Line b

My code: 我的代码:

 function textwrite(){ thetext = document.getElementById("text_change").value; document.getElementById("demo").innerHTML = thetext; } 
 <textarea id='text_change' oninput='textwrite()'></textarea> <p id="demo"></p> 

And I don't want to use <pre> tag. 而且我不想使用<pre>标签。

Use white-space : 使用空格

The white-space CSS property sets how white space inside an element is handled. white-space CSS属性设置如何处理元素内的空白。

with value pre-wrap where pre-wrap价值

Sequences of white space are preserved. 保留空白序列。 Lines are broken at newline characters, at <br> , and as necessary to fill line boxes. 行在<br>处以换行符断开,并根据需要填充行框。

 function textwrite(){ thetext = document.getElementById("text_change").value; document.getElementById("demo").innerHTML = thetext; } 
 #demo { white-space: pre-wrap; } 
 <textarea id='text_change' oninput='textwrite()'></textarea> <p id="demo"></p> 

Replace \\n , \\r , \\n\\r with </br> in java script: 用Java脚本中的</br>替换\\n\\r\\n\\r

var myLineBreak = thetext.replace(/\r\n|\r|\n/g,"</br>");

 function textwrite(){ thetext = document.getElementById("text_change").value; var myLineBreak = thetext.replace(/\\r\\n|\\r|\\n/g,"</br>"); document.getElementById("demo").innerHTML = myLineBreak; } 
 <textarea id='text_change' oninput='textwrite()'></textarea> <p id="demo"></p> 

为此,首先将textBox的multiline属性设置为true,然后在每行末尾添加以下内容: "\\r\\n"

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

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