ここでいくつかの簡単な解決策が欠けていますか - テキスト入力のあるフォームを作成しています。これを改行とともに送信したい。ユーザーは実際にテキストエリアに書き込み、javascript/jquery は送信前に非表示のテキスト入力にコピーします。
javascript が /n などを既知のブレーク文字に置き換えるソリューションを見てきました。これが唯一の方法ですか?次に、サーバー側で再度翻訳する必要があります。/n を /n として提出してほしいです。
ここでいくつかの簡単な解決策が欠けていますか - テキスト入力のあるフォームを作成しています。これを改行とともに送信したい。ユーザーは実際にテキストエリアに書き込み、javascript/jquery は送信前に非表示のテキスト入力にコピーします。
javascript が /n などを既知のブレーク文字に置き換えるソリューションを見てきました。これが唯一の方法ですか?次に、サーバー側で再度翻訳する必要があります。/n を /n として提出してほしいです。
<textarea style="display:none;"></textarea>
hidden の代わりに a を使用できます<input type="text">
。
通常のテキストエリアを持つ通常のフォームが送信されると、ユーザーが入力した改行はデータの一部として送信されます。それらは CR LF ペアに正規化されます。textarea 要素の値を非表示フィールドにコピーすると、改行が保持されます。
したがって、問題は別の場所にあります。サーバー側のフォーム ハンドラーが改行を処理する準備ができていない可能性があります。または、改行の意味が失われたり、完全に失われたりするような方法でデータを使用している可能性があります。よくある初心者の間違いは、フォームから受け取った値を HTML ドキュメントに書き込んでしまうことです。改行が保持されていても、通常の要素のコンテンツとして表示される場合、HTML ルールによってスペースと同等と見なされます (egtextarea
またはpre
)。
ユーザーの操作ではなく、ブラウザによる自動改行によって作成された改行は、デフォルトで失われます。通常、それらを保持する理由はありませんが、保持したい場合はwrap=hard
、textarea
要素で属性を使用してください。(この属性は非標準ですが、広くサポートされています。=