57

ajax 呼び出しで読み込んだテキストを配置するときに、少し問題があります。

テキストエリアからコンテキストを取得してデータベースに保存します。テキストをdivに表示したい場合、新しい行を尊重しないため、すべてのテキストが連続しています。

次のコードは、小さな例を示しています。

$(function() {
    $('.buttonA').click(function() {
        $('.message').html($('textarea[name="mensaje"]').val());
    });
});
.message {
    width:300px;
    height:200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<textarea name="mensaje" class="new_message_textarea" placeholder="enter message..."></textarea>
<button class="buttonA">Enter</button>
<div class="message"></div>

いくつかの新しい行を含むテキストを入力すると、ボタンをクリックすると、テキストが div に表示され、新しい行が表示されないことがわかります。

どうすればこれを解決できますか?

4

3 に答える 3

16

改行文字は、html レンダリングに対して何もしません。js でこれを変更します。

$('.message').html($('textarea[name="mensaje"]').val());

...これに:

$('.message').html($('textarea[name="mensaje"]').val().replace(/\n/g, "<br />"));

...そして、改行を適切なhtml改行に置き換えます

于 2012-07-10T23:11:10.023 に答える