0

何らかのフォームを含むモデル ビューがあります。フォームを送信すると、ajax関数が呼び出され、phpを使用してデータベースからデータが取得されます。更新は行われません。正常に動作しますが、リクエストを送信するときにモーダルを閉じて2回目に開くと、ajax関数が2回呼び出されます。モーダル ビューを 3 回呼び出します。

モーダル ビューを呼び出すと、新しい .php ファイルが含まれます。jquery 関数もモーダル ビュー .php ファイルに入れます。

また、モーダル ビューを開くたびにスクリプトを追加しています。同じスクリプトを2回上書きまたは追加しますか?

これは私の.js関数です

    $('#contentArea #shareButton').click(function(){

        var a = $("#watermark").val();
        if(a != "What's on your mind?")
        {
            $.post("lib/actions/posts.php?value="+a, {

            }, function(response){

                $('#posting').prepend($(response).fadeIn('slow'));
                $("#watermark").val("What's on your mind?");
            });
        }
    }); 


    $('.commentMark').livequery("focus", function(e){

        var parent  = $(this).parent();
        $(".commentBox").children(".commentMark").css('width','320px');
        $(".commentBox").children("a#SubmitComment").hide();
        $(".commentBox").children(".CommentImg").hide();            

        var getID =  parent.attr('id').replace('record-','');           
        $("#commentBox-"+getID).children("a#SubmitComment").show();
        $('.commentMark').css('width','300px');
        $("#commentBox-"+getID).children(".CommentImg").show();         
    }); 

    //showCommentBox
    $('a.showCommentBox').livequery("click", function(e){

        var getpID =  $(this).attr('id').replace('post_id',''); 

        $("#commentBox-"+getpID).css('display','');
        $("#commentMark-"+getpID).focus();
        $("#commentBox-"+getpID).children("img.CommentImg").show();         
        $("#commentBox-"+getpID).children("a#SubmitComment").show();        
    }); 

    //SubmitComment
    $('a.comment').livequery("click", function(e){

        var getpID =  $(this).parent().attr('id').replace('commentBox-','');    
        var comment_text = $("#commentMark-"+getpID).val();

        if(comment_text != "Write a comment...")
        {
            $.post("lib/actions/add_comment.php?comment_text="+comment_text+"&post_id="+getpID, {

            }, function(response){

                $('#CommentPosted'+getpID).append($(response).fadeIn('slow'));
                $("#commentMark-"+getpID).val("Write a comment...");                    
            });
        }

    }); 

    //more records show
    $('a.more_records').livequery("click", function(e){

        var next =  $(this).attr('id').replace('more_','');

        $.post("lib/actions/posts.php?show_more_post="+next, {

        }, function(response){
            $('#bottomMoreButton').remove();
            $('#posting').append($(response).fadeIn('slow'));

        });

    }); 

    //deleteComment
    $('a.c_delete').livequery("click", function(e){

        if(confirm('Are you sure you want to delete this comment?')==false)

        return false;

        e.preventDefault();
        var parent  = $(this).parent();
        var c_id =  $(this).attr('id').replace('CID-','');  

        $.ajax({

            type: 'get',

            url: 'lib/actions/delete_comment.php?c_id='+ c_id,

            data: '',

            beforeSend: function(){

            },

            success: function(){

                parent.fadeOut(200,function(){

                    parent.remove();

                });

            }

        });
    }); 

    /// hover show remove button
    $('.friends_area').livequery("mouseenter", function(e){
        $(this).children("a.delete").show();    
    }); 
    $('.friends_area').livequery("mouseleave", function(e){
        $('a.delete').hide();   
    }); 
    /// hover show remove button


    $('a.delete').livequery("click", function(e){

    if(confirm('Are you sure you want to delete this post?')==false)

    return false;

    e.preventDefault();

    var parent  = $(this).parent();

    var temp    = parent.attr('id').replace('record-','');

    var main_tr = $('#'+temp).parent();

        $.ajax({

            type: 'get',

            url: 'lib/actions/delete.php?id='+ parent.attr('id').replace('record-',''),

            data: '',

            beforeSend: function(){

            },

            success: function(){

                parent.fadeOut(200,function(){

                    main_tr.remove();

                });

            }

        });

    });

    $('textarea').elastic();

    jQuery(function($){

       $("#watermark").Watermark("What's on your mind?");
       $(".commentMark").Watermark("Write a comment...");

    });

    jQuery(function($){

       $("#watermark").Watermark("watermark","#369");
       $(".commentMark").Watermark("watermark","#EEEEEE");

    }); 

    function UseData(){

       $.Watermark.HideAll();

       //Do Stuff

       $.Watermark.ShowAll();

    }
4

1 に答える 1

0

呼び出すたびにモーダル ビューを作成していますか? 何度も作成してからすべてを送信するだけなので、再利用したいかもしれません。

于 2011-02-06T10:17:37.333 に答える