将带有新行的文本插入到textarea中

时间:2012-06-26 20:16:07

标签: jquery html

我正在尝试将数据库中的数据插入到textarea中。我不知道如何制作新的线条。我使用jquery的val()函数来设置textarea内容。我把\ n但它只是出现在textarea而不是制作换行符。我也试过\ r \ n得到了相同的结果。

更新

好的,我注意到我只是在val()函数中使用\ n对字符串进行硬编码。所以问题必须在我通过php的ajax返回的字符串的某处。我使用$ .ajax来调用PHP,它从mysql获取值。关于出了什么问题的任何想法?

HTML

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

JAVASCRIPT

<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'];
}
?>

2 个答案:

答案 0 :(得分:6)

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

这很好用。 您需要在JavaScript字符串中使用\n 如果此字符串是在服务器上的PHP中形成的,则可能需要json_encode()之类的内容来格式化JavaScript格式的字符串。

答案 1 :(得分:-3)

您需要解析文本并将\ n转换为break标记&lt; br /&gt;在你把它传递给textarea之前。