如何格式化html <textarea>中的文本?

时间:2015-08-10 21:06:09

标签: javascript html formatting textarea

&lt; p&gt;所以我有&lt; code&gt;&lt; textarea&gt;&lt; / code&gt;在我的页面上,当我单击按钮时,&lt; code&gt; textarea&lt; / code&gt;中的文本值已分配给&lt; code&gt; .innerHTML&lt; / code&gt;在我的页面上的一个段落。 现在让我说我在textarea中键入这样的内容:&lt; code&gt;嘿 如何的 它 去 ?&LT; /代码&GT;该段落看起来像这样&lt; code&gt;嘿它是怎么回事?&lt; / code&gt; 。基本上,它不会有&lt; code&gt;&lt; br&gt;&lt; / code&gt;每行末尾的标签。有什么方法可以强制JS函数插入&lt; code&gt;&lt; br&gt;&lt; / code&gt;我的textarea每行末尾的标签?&lt; / p&gt; &lt; p&gt;或者有更简单的方法吗?&lt; / p&gt; &LT; p为H.。感谢和LT; / p为H. &lt; p&gt; JavaScript代码:&lt; code&gt; document.getElementById(“sendMsgBtn”)。onclick = function(){     var element = document.createElement(“p”);     element.style.borderBottom =“1px solid black”;     var content = document.createTextNode(document.getElementById(“currentMsg”)。value);     content = content.replace(/ \ n / g,“&lt; br&gt;”);     element.appendChild(内容);     document.body.appendChild(元件);     document.getElementById(“currentMsg”)。value =“”; }&LT; /代码&GT;&LT; / p为H.

3 个答案:

答案 0 :(得分:4)

您不希望换行。相信我。

设置一下:

white-space: pre-wrap;

这个CSS会使空白显着,并在输入时保留它。

答案 1 :(得分:2)

将元素从textarea复制到段落标记时,请使用<br>标记替换所有换行符:

var input = document.getElementById("myTextarea").innerHTML; // get textarea contents
input = input.replace( /\n/g, "<br>"); // replace line breaks with <br> tags
document.getElementById("myParagraph").innerHTML = input; // place html-ified input into your <p>

答案 2 :(得分:1)

如果您使用的是jQuery,请尝试以下方法:

function nl2br (str, is_xhtml) {   
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';    
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}

然后: nl2br(yourVariableWithContent);可用于将换行符(返回按钮所用的字符)更改为