3

データベースからテキストエリアにデータを挿入しようとしています。しかし、新しい行を作成する方法がわかりません。jquery の val() 関数を使用してテキストエリアのコンテンツを設定しています。\n を入れましたが、改行ではなくテキストエリアに表示されます。\r\n も同じ結果で試しました。

アップデート

わかりました、val() 関数で \​​n を使用して文字列をハードコードすると、それが機能することに気付きました。したがって、php から ajax 経由で返される文字列のどこかに問題があるはずです。$.ajax を使用して、mysql から値を取得する PHP を呼び出しています。何がうまくいかないのかについてのアイデアはありますか?

HTML

<textarea id='topContent' class='divContent' rows='8'></textarea>

ジャバスクリプト

<script>
$('#dialogDiv').on('submit', '#insertMacroForm', function(){
    $.ajax({
        url: 'index.php',
        data: 'request=loadMacro2&id='+$('#macroSelection').val(),
        success: function(msg){
            $('#topContent').val(msg);
        }
    });
    return false;
});
</script>

PHP

<?php
$query = 'SELECT * FROM POEMACRO WHERE POEID=' . db2_escape_string($_GET['id']);
$result = db2_exec($conn, $query) or die(db2_stmt_errormsg());
while($row = db2_fetch_assoc($result)){
    print $row['POEMACRO'];
}
?>
4

2 に答える 2

6
$('textarea').val('line1\nline2')

これはうまくいきます。\nJavaScript 文字列で使用する必要があります。
この文字列がサーバー上の PHP で形成されている場合json_encode()、文字列を JavaScript 形式にフォーマットする必要がある場合があります。

于 2012-06-26T20:37:08.987 に答える
-3

テキストエリアに渡す前に、テキストを解析し、 \n をブレークタグ <br/> に変換する必要があります。

于 2012-06-26T20:21:36.133 に答える