1

AJAX を使用してデータベースから削除したいコメントのリストと、Javascript を使用した現在のビューからのフェードアウトがあります。

削除するdivのIDをサーバーに送信するこの関数を呼び出しremoveComment()ます(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 に答える