1

我正在创建一个项目,我需要使用 mysql 数据库中的信息更新 textarea 字段。

如果我手动输入 javascript:

document.getElementById('myTextArea').value='Line1\nLine2';

文本框正确显示它。

在我的脚本中,有时我会使用从 ajax 请求接收到的字符串更新值:

document.getElementById('myTextArea').value=result.slice(18);
console.log(result.slice(18));

在这种情况下,文本区域会显示如下文本:

这应该是第一行。\n这应该是第二行。\n.等等...

在控制台日志中,我得到了正确的文本:

这应该是第一行。\n这应该是第二行。\n.等等...

但我希望它显示在带有尾线的文本框中。

下面是一张包含 sql 表、控制台输出和 textarea 显示文本方式的图片:

http://s22.postimg.org/npzonvm9d/textarea.png

先感谢您。

4

1 回答 1

1

答案在评论中。

该字符串可能被转义,因此该字符串不是真正的“\n”,而是“\n”。最简单(也是最丑陋)的解决方案是:

document.getElementById('myTextArea').value=result.slice.replace(/\\n/g, "\n");

我建议做这个服务器端

$result = str_replace('\\n', '\n', $stringfromdb);
于 2013-06-23T18:51:32.363 回答