JQuery проблема модального представления - PullRequest
0 голосов
/ 06 февраля 2011

У меня есть вид модели, который содержит некоторую форму.Когда я отправляю форму, она вызывает функцию ajax и получает некоторые данные из базы данных с php. Это не делает refresh. Это работает нормально, но если я закрываю модальный режим и открываю второй раз, когда я отправляю запрос, то вызывает функцию ajax 2 раза.повторно открыть модальный вид 3 раза звонки.

Когда я вызываю мой модальный вид, я включаю в него новый файл .php. Я также помещаю свою функцию jquery в файл модального вида .php.

И я добавляю свой скрипт каждый раз, когдаоткрытый модальный вид.это перезаписывает или добавляет два раза один и тот же скрипт?

это моя функция .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();

    }

1 Ответ

0 голосов
/ 06 февраля 2011

Вы создаете модальное представление каждый раз, когда вызываете его? Возможно, вы захотите использовать повторно, потому что он выглядит как создание его несколько раз, а затем просто отправляет их все.

...