簡體   English   中英

用jQuery重新加載div內容

[英]Reload div content with jQuery

這是我的代碼:

<div style="overflow-x: hidden; overflow-y: visible; height:300px; width:300px;" id="textDiv">
<?php
$query = mysql_query("SELECT * FROM posts ORDER BY id");
while($queryVar = mysql_fetch_assoc($query))
{
    echo $queryVar['id'].". ".$queryVar['text']."<br>";
}
?>
</div>
<div id="postComment">
<textarea id="text" onKeyPress="if(window.event.keyCode==13) postComment()"     cols="30" rows="1" style="border: solid 1px #888;"></textarea>
</div>

<script type="text/javascript">

function postComment()
{
var textVar = document.getElementById('text').value;
$("#text").val("");
$.ajax
({
    type: "GET",
    url: "controllers/sendCommentController.php",
    data: 'text=' + textVar,
    success: function(msg)
    {
        $("#textDiv").hide().fadeIn('fast');
    }
})
}
</script>

如您所見,當您在文本區域中按Enter鍵時,sendCommentController.php將執行(一個簡單的mysql插入查詢)。 我希望我的textDiv重新加載其內容。 .load()並沒有真正起作用,或者我只是搞砸了,它將另一個textDiv div加載到我現有的div中...請幫助:(另外,我該如何使div的滾動條始終位於底部?與.load一起使用。:(

function postComment()
{
var textarea = $("#text");
var textVar = $.trim(textarea.val());
textarea.val("");
$.ajax({
    type: "POST",
    url: "controllers/sendCommentController.php",
    data: 'text=' + textVar,
    success: function(msg)
    {
        $("#textDiv").hide().html(msg).fadeIn('fast');
    }
})
}

可能將其更改為POST而不是GET。

您沒有在回調中添加新內容。

success: function(msg)
{
    $("#textDiv").append(msg).hide().fadeIn('fast');
}    

對於您的滾動問題,請參見此SO答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM