我想要使用AJAX从数据库中删除此注释列表,并使用Javascript从当前视图中淡出。
我调用此函数removeComment()
,它将要删除的div的ID发送到服务器(ID也是数据库中的行ID)
我遇到的问题是,在我第一次运行该功能后,它会停止工作。
jquery code
function removeComment(PostId) {
var commentid = 'com' + PostId;
$(document).ready(function() {
$(commentid).fadeToggle('slow');
// send to php script
$.ajax({
type: 'POST',
cache: false,
url: 'actions/adminProcessor.php',
data: 'action=removeComment' + '&PostId=' + PostId,
success: function(done) {
alert(done);
}
});
}); // <-- Sorry, was missing a '}'
}
及以下是评论列表的html以及函数如何调用
<div class="comments" id="com3">
<label><admin>UD</admin></label><a href="Javascript:removeComment('1')">Remove</a>
<span>17/09/12</span>
<p>adfadfadfadf</p>
</div>
<div class="comments" id="com3">
<label><admin>UD</admin></label><a href="Javascript:removeComment('3')">Remove</a>
<span>17/09/12</span>
<p>adfadfadfadf</p>
</div>
请我知道我哪弄错了
下面是php脚本
if($action == "removeComment"){
extract($_POST) ;
$query = "DELETE FROM comments WHERE id = '$cId'" ;
$result = mysql_query($query);
}
答案 0 :(得分:1)
您不应将行为包装到$(document).ready
函数中。您应该阅读有关$(document).ready
含义的更多信息。此代码现在应该可以使用:
function removeComment(PostId) {
var commentid = 'com' + cid;
var coms = document.getElementById(commentid);
$(coms).fadeToggle('slow');
$.ajax({
type: 'POST',
cache: false,
url: 'actions/adminProcessor.php',
data: 'action=removeComment' + '&PostId=' + PostId,
success: function (done) {
alert(done);
}
});
}