HTML属性に保存するために、テキストエリアからすべてのテキストを安全にエスケープする最良の方法は何ですか? 改行文字は保持する必要があります。
を使用.val()
するのが最良のオプションです。テキストエリアのコンテンツが非表示の値属性から抜け出すことはできません。ネイティブ Javascript の使用.value
も機能し、安全.val()
です。
ユーザーがモーダルを再度開いた場合、非表示フィールドに保存されているテキストを取得して、改行文字を付けてテキストエリアに戻すにはどうすればよいですか?
モーダルが開いたら:
// #mytextarea = the textarea on the modal
// #myhidden = the hidden on the main page
$('#mytextarea').val($('#myhidden').val()); // set the modal textarea to the value of the hidden
モーダルが閉じるか「保存」するとき:
$('#myhidden').val($('#mytextarea').val());
ユーザーがフォームを送信するとき、改行文字を含む元の形式で使用またはデータベースに保存できるように、非表示フィールドのテキストを再び正規化するにはどうすればよいですか?
新しい行を保持するために何もする必要はありません。Prepared Statement を使用すると、生の post 値がデータベースに保存されます。ページのどこかに値を出力する場合、<br />
PHP のnl2br()
. 新しい行の変換は、入力値以外に出力する場合にのみ必要です。htmlspecialchars()
また、XSS を防ぐために実行することを忘れないでください。