• ベストアンサー

firefox上でのtextareaタグについて

htmlでtextareaタグを使ったformを作っていたところ、wrap='hard'と指定しても、送信された文字列には改行が含まれていませんでした。textareaの表示上は改行されているのですが、送信後には改行がなくなっています。htmlコードはchromeやedge、brave等では動作しているのでfirefoxの仕様かと思うのですが、どなたか改善方法を知りませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • retorofan
  • ベストアンサー率34% (435/1276)
回答No.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個のスラッシュの中には、半角空白が入ります。 以上のどれかで解決されると思います。ためしてみてください。

tkiyom
質問者

お礼

改善はできませんでしたが、とても参考になりました。ありがとうございました。

tkiyom
質問者

補足

解決しませんでした。また、wrap='physical'に変えてみてもできませんでした。

関連するQ&A