0

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();

    }
Ercan
  • 2,699
  • 10
  • 53
  • 60

1 Answers1

0

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.

exus
  • 215
  • 1
  • 10
  • Each time I am removing all div elements and when I click on photo I create them again.because I am calling function that gets news from database.I should show new data when user open modal view – Ercan Feb 06 '11 at 10:21
  • Since i don't see the code another guess : if you are submitting the form with an registered jQuery function maybe ther is the problem that you register submits and not removing them. – exus Feb 06 '11 at 10:24
  • I edit my message. Yes I don`t do any thing for removing registered submits. To remove registered submits should I refresh page? because it works normal if I refresh page.But i don`t want to refresh page. – Ercan Feb 06 '11 at 10:27