- ベストアンサー
firefox上でのtextareaタグについて
htmlでtextareaタグを使ったformを作っていたところ、wrap='hard'と指定しても、送信された文字列には改行が含まれていませんでした。textareaの表示上は改行されているのですが、送信後には改行がなくなっています。htmlコードはchromeやedge、brave等では動作しているのでfirefoxの仕様かと思うのですが、どなたか改善方法を知りませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>htmlコードはchromeやedge、brave等では動作している となれば、Firefoxの仕様による問題かもしれません。 次に、いくつかの対策を挙げておきます。 [対策1] cols属性を指定する wrap="hard"を使用する場合、cols属性を指定する必要があります。 例えば、次のように記述します。 <textarea rows="4" cols="50" wrap="hard"></textarea> [対策2] CSSで設定する CSSでテキストの折り返しを次のように設定することができます。 textarea { white-space: pre-wrap; } [対策3] JavaScriptで改行を追加する JavaScriptを用いて、フォーム送信前に改行を追加できます。 例:「*****」はあなたのテキストエリアのID document.getElementById("*****").addEventListener("change", function() { this.value = this.value.replace(/ /g, "\n"); }); 2個のスラッシュの中には、半角空白が入ります。 以上のどれかで解決されると思います。ためしてみてください。
お礼
改善はできませんでしたが、とても参考になりました。ありがとうございました。
補足
解決しませんでした。また、wrap='physical'に変えてみてもできませんでした。