1

我有这个评论列表,我想使用 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);
            }
4

1 回答 1

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);
        }
    });
}
于 2012-09-17T17:50:01.390 回答