我有一个评论系统,用户可以在其中发表评论。这条评论的发布是一个 ajax 调用:
$(function() {
$(".submit-comment").click(function() {
var text = $(".txtinput").val();
var itemid = "<?=$id?>";
var userid = "<?=$_SESSION['user_id']?>";
var dataString = 'text=' + text + '&userid=' + userid + '&itemid=' + itemid;
if (text == '') {
$('#content_error1').fadeIn(250);
$('#content_error1').delay(1500).fadeOut(500);
} else {
$.ajax({
type: "POST",
url: "/ajax/comments.php",
data: dataString,
success: function(html) {
$('#messages').prepend($(html).hide().fadeIn(1000));
$('.txtinput').val('');
}
});
}
return false;
});
});
给出这个 html 输出:
<div class="com_loaded" id="id<?=$comment_id?>">
<div id="com_loaded_height"></div>
<div id="com_loaded_userpic"><a onClick="parent.$.fn.colorbox.close();" target="_parent" href="profile.php?id=<?=$row['user_id']?>"
class="tooltip"><img src="<?=$row['user_pic']?>" class="img_poster" /><span><?=$row['user_name']?></span></a>
</div>
<div id="com_loaded_content">
<div id="com_loaded_poster"><a onClick="parent.$.fn.colorbox.close();" target="_parent" href="profile.php?id=<?=$row['user_id']?>"><?=$row['user_name']?></a>
</div>
<div id="com_loaded_text">
<?=$row[ 'comment_text']?>
</div>
</div>
<div id="com_loaded_divide"></div>
<div class="del_com"><span class="imgswap_del" att="<?=$comment_id?>"><img src="img/popup/close-small.png" alt="Delete comment"></span>
</div>
</div>
现在您可以使用此 ajax 调用删除评论:
$(function() {
$(".imgswap_del").click(function() {
var comment_id = $(this).attr('att');
var dataString = 'comment_id=' + comment_id;
$.ajax({
type: "POST",
url: "/ajax/delete_comment.php",
data: dataString,
}).done(function(result) {
myresult7(result);
});
return false;
});
});
我想让用户选择在发布后直接删除评论。这是行不通的。但奇怪的是,当我刷新页面时,该功能正在工作。在使用 ajax 调用发表评论后,如何直接完成这项工作?我不想先刷新页面!