2

textarea(複数行)のテキストを取得して、テキストをdivに設定しようとしました。しかし、divにはテキストエリアからのテキストが1行しかありません

これは私のコードです:

//html structure
<div>

    <textarea id="cmt_content" rows="10" cols="60"></textarea>
    <br> <input id="addAccordion" type="button" value="ADD COMMENT" />
</div>
<div id="rs">
</div>

//script
$('#addAccordion').click(function(){
    var content = document.createElement("div");
    content.appendChild(document.createTextNode($("#cmt_content").val()));
    $('#rs').append(content);
});

どうもありがとうございました!

4

3 に答える 3

5

<br>改行を適切な HTMLタグに変換する必要があります。

var html = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');

次に、作成した div の innerHTML として設定します。

content.innerHTML = html;

または、1 行にまとめることができます。

content.innerHTML = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');

実際の例を参照してください: http://jsfiddle.net/samliew/RhHaS/

最終的なコード:

$('#addAccordion').click(function(){
    var content = document.createElement("div");
    content.innerHTML = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');
    $('#rs').append(content);
});
于 2013-06-11T09:34:28.547 に答える
1

あなたが作品を説明しているシナリオに従って、新しい行に問題があるだけだと思います

これは良いですか?

$('#addAccordion').click(function(){
    var content = $("<div>");
    content.append($("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br />'));
    $('#rs').append(content);
});

http://jsfiddle.net/ZahVy/

于 2013-06-11T09:36:58.483 に答える
0

これを試して

$(document).ready(function () {
        $('#addAccordion').click(function () {
            var value = $("#cmt_content").val().replace(/\n/g, '</br>')
            $('#rs').append('<div>' + value+'</div>' );
        });
    });
于 2013-06-11T09:43:17.470 に答える