回答:
改行(\n\r
?)がHTML <br/>
タグと同じではないという問題が原因です。
var text = document.forms[0].txt.value;
text = text.replace(/\r?\n/g, '<br />');
更新
多くのコメントと私の経験から、この<br>
ソリューションが期待どおりに機能していないことがわかります。ここに、textarea
「\ r \ n」を使用して新しい行を追加する方法の例を示します
function log(text) {
var txtArea ;
txtArea = document.getElementById("txtDebug") ;
txtArea.value += text + '\r\n';
}
私はこれを編集することにしました。これは、新しい質問としてではなく、あまりにも人気が高すぎて間違っていたり不完全だったりするためです。
/(\r\n|\n|\r)/gm
正規表現はtextfixer.com/tutorials/javascript-line-breaks.php
/\r\n?|\n/g
キャプチャなし、マルチラインなしです。
<br>
は間違っています。以下のためのテキストエリアでのユニバーサル改行したいです\r\n
。たとえば、UCブラウザーは<br>と\ nをtextareasで無視します。HTMLテキスト領域に改行を追加するを参照してください。
多分誰かがこれが便利だと思う:
サーバー変数からJavaScript変数に渡される改行に問題があり、JavaScriptがそれらをtextareaに書き込みました(knockout.js値バインディングを使用)。
解決策は新しい行を二重にエスケープすることでした:
orginal.Replace("\r\n", "\\r\\n")
サーバー側では、単一のエスケープ文字ではJavaScriptが解析されなかったためです。
自分のページ内にテキストを表示したい場合は、<pre>
タグを使用できます。
document.querySelector('textarea').addEventListener('keyup', function() {
document.querySelector('pre').innerText = this.value;
});
<textarea placeholder="type text here"></textarea>
<pre style="font-family: inherits">
The
new lines will
be respected
and spaces too
</pre>
#infoartistが続くidのテキストエリアがあります:
<textarea id="infoartist" ng-show="dForm" style="width: 100%;" placeholder="Tell your contacts and collectors about yourself."></textarea>
JavaScriptコードでは、textareaの値を取得し、エスケープする新しい行(\ n \ r)<br />
を次のようなタグで置き換えます。
var text = document.getElementById("infoartist").value;
text = text.replace(/\r?\n/g, '<br />');
したがって、jqueryを使用している場合(私のように):
var text = $("#infoartist").val();
text = text.replace(/\r?\n/g, '<br />');
お役に立てば幸いです。:-)
これは私が抱えていたのと同じ問題で私がしたことです。
私がjspの次のページにテキストを渡すとき、私はそれを次のようなものではなくtextareaとして読んでいます
したがって、出力は希望どおりになりました。その他のプロパティについては、次のように使用できます。
<textarea style="background-color: white; border: none; width:660px;font-family: Arial, Helvetica, sans-serif; font-size:1.0em; resize:none;" name="text" cols="75" rows="15" readonly="readonly" ><s:property value="%{text}"/></textarea>
<pre></pre>
ここに公開されている正規表現とソリューションを使用したCodepenデモ:codepen.io/a-guerrero/pen/grgVBo