2

重複の可能性:
ユーザーが入力した改行を TEXTAREA からデータベースに保存する方法は?

ここでいくつかの簡単な解決策が欠けていますか - テキスト入力のあるフォームを作成しています。これを改行とともに送信したい。ユーザーは実際にテキストエリアに書き込み、javascript/jquery は送信前に非表示のテキスト入力にコピーします。

javascript が /n などを既知のブレーク文字に置き換えるソリューションを見てきました。これが唯一の方法ですか?次に、サーバー側で再度翻訳する必要があります。/n を /n として提出してほしいです。

4

2 に答える 2

4

<textarea style="display:none;"></textarea>hidden の代わりに a を使用できます<input type="text">

于 2012-10-11T20:15:38.647 に答える
2

通常のテキストエリアを持つ通常のフォームが送信されると、ユーザーが入力した改行はデータの一部として送信されます。それらは CR LF ペアに正規化されます。textarea 要素の値を非表示フィールドにコピーすると、改行が保持されます。

したがって、問題は別の場所にあります。サーバー側のフォーム ハンドラーが改行を処理する準備ができていない可能性があります。または、改行の意味が失われたり、完全に失われたりするような方法でデータを使用している可能性があります。よくある初心者の間違いは、フォームから受け取った値を HTML ドキュメントに書き込んでしまうことです。改行が保持されていても、通常の要素のコンテンツとして表示される場合、HTML ルールによってスペースと同等と見なされます (egtextareaまたはpre)。

ユーザーの操作ではなく、ブラウザによる自動改行によって作成された改行は、デフォルトで失われます。通常、それらを保持する理由はありませんが、保持したい場合はwrap=hardtextarea要素で属性を使用してください。(この属性は非標準ですが、広くサポートされています。=

于 2012-10-11T20:25:43.867 に答える