HTMLテキストエリアに改行を追加する方法?
-
21-08-2019 - |
質問
私はJavaScriptで<textarea>
を編集しています。問題は、私はそれに改行を行うとき、彼らは表示されませんということです。私はこれを行うことができますどのように?
私は関数を記述するための値を取得していますが、それは、改行を与えることはありません。
解決
問題は、改行(\n\r
は?)
<br/>
タグと同じではないという事実から来ています
var text = document.forms[0].txt.value;
text = text.replace(/\r?\n/g, '<br />');
他のヒント
あなたは一般的なJavaスクリプトを使用して、テキスト領域の値に文字列を割り当てる必要があるならば、
document.getElementById("textareaid").value='texthere\\\ntexttext'.
あなたが\n
する< br >
または\\\n
を交換する必要があります。
それ以外の場合は、すべてのブラウザでUncaught SyntaxError: Unexpected token ILLEGAL
を与えます。
あなたは\n
内linebreaks
ためtextarea
を使用する必要があります。
たぶん誰かが、これは便利ます:
私はjavascriptの変数にサーバー変数から渡された改行に問題があったが、その後、Javascriptを(knockout.js値バインディングを使用して)テキストエリアにそれらを書いていた。
ソリューションは、二重改行をエスケープしてます:
orginal.Replace("\r\n", "\\r\\n")
サーバ側で、なぜなら解析していなかったのjavascriptだけで、単一のエスケープ文字でます。
新しい行がブラウザにちょうど空白で、(」「)通常空間に任意の異なる扱われることはありません。新しい行を取得するには、<BR />
要素を挿入する必要があります。
問題を解決するための別の試み:テキストエリアにテキストを入力し、読みやすいものに見えない文字を変換し、DIV
に結果をダンプするために、ボタンの後ろにいくつかのJavaScriptを追加します。それはあなたのブラウザが何を望んでいるかを教えてくれます。
、あなたは<pre>
タグを使用することができます。
document.querySelector('textarea').addEventListener('keyup', function() {
document.querySelector('pre').innerText = this.value;
});
<textarea placeholder="type text here"></textarea>
<pre>
The
new line will
be respected
</pre>
私が持っているIDを持つテキストエリアがあるの #infoartist のは、次のとおりです。
<textarea id="infoartist" ng-show="dForm" style="width: 100%;" placeholder="Tell your contacts and collectors about yourself."></textarea>
javascriptのコードでは、私は、テキストエリアの値を取得し、<br />
タグで改行(\ n個の\ r)をエスケープ置き換えます、といったます:
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 />');
それはあなたを助け願っています。 : - )
あなただけの改行をサーバーにtestareaの値を送信する必要がある場合に使用 nl2br の
ここで私は私が持っていた同じトラブルのためにしたものです。
私はJSPの次のページにテキストを渡しているとき、、私のような何かを読んだのではなく、テキストエリアとしてそれを読んでいます
あなたが望んでいたとしてその出力が来ました。 そして他の特性のために、あなたは以下のように使用することができます。
<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>