4

ユーザーがデータベースに送信する前に、フォーム情報のプレビューを表示するJavaScriptエラーチェックを行うaspのフォームがあります。送信前に簡単な書式設定を有効にするために、すべての改行をタグに置き換えます。

<textarea name="DATA_Description" ROWS=30 wrap=on cols="30"><%=DATA_Description%></textarea>

改行を置き換える

<%=replace(DATA_Description,vbcr,"<BR>")%>

これは、Chrome を除くすべてのブラウザーで完全に機能します。Chrome は、テキストエリアの各行の終わりに余分な改行を挿入しています。複数のフォント スタイルを持つ複数の幅の領域でテキストを使用するため、ユーザーが実際にハード リターンを入力したときにのみ改行が発生する必要があります...

助言がありますか?

4

2 に答える 2

1

テキストエリアに表示されている改行ではなく、改行のみを置き換えています。Windows 上の Chrome が単純な LF ではなく CRLF を使用していたとしても、私は驚くことではなく、CR のみを期待することもありません。

于 2009-04-28T22:45:00.230 に答える
0

データベースに保存されているテキストエリアからデータを取得し、それをテキストエリアに戻すのではなく html として表示したい場合は、常に vbcr の代わりに vbcrlf を使用してきました (あなたと同じように置換を使用します)。

使用した OS が Linux または Mac であり、どちらも CRLF の代わりに LF のみを使用した場合にどうなるかをテストしたことはありません (当時は Mac と Linux のサポートについて心配する必要はありませんでした)。考えてみると、CRLF や LF の使用は HTML 仕様の一部であり、すべてのオペレーティング システムでどのテキストエリアでも同じであるのだろうか? うーん。

于 2009-04-29T18:13:52.590 に答える