Jquery modal view problem

659 views Asked by At

I have model view that contains some form. When I submit form it calls ajax function and gets some data from database with php.It does not make refresh.It works normal but if I close modal and open second time when i submit request it calls ajax function 2 times.If I close and re open modal view 3 times calls.

When I call my modal view I include new .php file in it.I put my jquery function in modal view .php file also.

And I am adding my script each time when I open modal view. is it overwrites or adds two time same script?

this is my .js function

    $('#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();

    }
1

There are 1 answers

3
exus On

Are you creating the modal view each time you call it? You maybe want to reuse, because it seams like creating it multiple times and then just submits all of them.