通过ajax调用将文本加载到textarea中
我想将从dB中检索到的一些文本加载到textarea中。 用户点击链接:
<a class="editlink" id="" href="#">
JQuery将ID传递给GO.PHP:
$(".editlink").click(function() { $.get("go.php", {param: $(this).attr('id')}, function(data) { $('textarea#area1').html(data); }); return false; });
GO.PHP从dB中检索文本:
$qry = mysql_query("SELECT * FROM reviews WHERE id = ".$_GET['param']." "); while($review = mysql_fetch_array($qry)) { echo $review['description']; }
正如Firebug consolle所证实的那样,ID和文本被正确检索。 问题是我无法将文本放入textarea:
我试过:.html(数据),。text(数据),。val(数据),但没有显示任何内容。 (请注意,dB中的文本可能包含我希望保留的HTML标记)。
您需要设置文本区域值。
$("#textareaID").val("value of text area");
我把它放在头部的空白HTML doc引用查询中,它工作正常。
你试过这个吗?
$('textarea#area1').attr('value',data);
我试过:.html(数据),。text(数据),。val(数据),但没有显示任何内容。
正如其他答案所述,.val(数据)或.text(数据)应该有效。 不要.html(数据)与textarea,因为它将无法在Internet Explorer中工作,因为它将与textareas一起使用时删除html ( 在IE中尝试此操作 )。 我会使用firebug控制台来确保数据设置,并查看您的网络选项卡以确保一切正确返回。 我的猜测是其他地方有错误。