2011-02-06 2 views
0

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

Когда я вызываю свое модальное представление, я включаю в него новый .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(); 

    } 

ответ

0

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

+0

Каждый раз, когда я удаляю все элементы div, и когда я нажимаю на фотографию, я создаю их снова. Потому что я вызываю функцию, которая получает новости из базы данных. Я должен показывать новые данные, когда пользователь открывает модальный вид – Ercan

+0

Так как я не вижу код другой догадки: если вы отправляете форму с зарегистрированной функцией jQuery, возможно, это проблема, которую вы регистрируете, и не удаляет их. – exus

+0

Я редактирую свое сообщение. Да, я ничего не делаю для удаления зарегистрированных отправлений. Чтобы удалить зарегистрированные отправления, я должен обновить страницу? потому что он работает нормально, если я обновляю страницу. Но я не хочу обновлять страницу. – Ercan