我在 MySql 数据库中保存了一些多行文本 (VARCHAR 255)。当我加载它并使用标准 php 函数“nl2br”处理它时,它回显良好(多行)。但是,当我从数据库加载多行文本时,将其设为“nl2br”,然后将其发送到 javascript(因此它会显示在 textarea 中),它不会显示!怎么了?
echo "<SCRIPT>FillElements('".$subject."','".$text."');</SCRIPT>";
附言 填充元素函数:
function FillElements(Sub,Txt)
{
document.getElementById('txtSubject').value=Sub;
document.getElementById('txtMessage').value=Txt;
}
最佳答案
textarea
s 实际上并不将内容存储在类似 value
的属性中以与输入元素相同的方式。他们实际上将内容存储在 <textarea>
之间和 </textarea>
标签。这意味着内容实际上在文档中被视为 CDATA。
<textarea>
This is my Content
</textarea>
生成一个以“This is my Content”为内容的文本区域。
这意味着您不能使用您必须更改文本区域内容的代码。您必须更改文本区域的 innerHTML 属性。我在这里设置了一个简单的例子:
顺便说一句,既然您是在创建页面时使用 PHP 填充字段,为什么不只在 HTML 标记中填充数据,这似乎是一个漫长的过程。
此外,由于您似乎没有使用它,您是否看到 [jQuery][1] 它抽象了很多东西,所以不用输入 document.getElementById("the_id")
要获得一个元素,您可以使用 CSS 选择器并只写 $("#the_id")
得到相同的元素。您还可以获得大量有用的函数,使编写 javascript mucxh 变得更加容易。
[1]: http://jquery.com jQuery
关于php - 将多行文本从数据库加载到 TextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901271/