2011-02-06 74 views
0

我有包含某种形式的模型视图。当我提交表单时,它会调用ajax函数,并使用php从数据库获取一些数据。它不会刷新。它工作正常,但如果我关闭模式并在我提交请求时第二次打开,它将调用ajax函数2次。如果我关闭并重新打开模式视图3次呼叫。jquery模态查看问题

当我打电话给我的模态视图时,我在其中包含了新的.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 2011-02-06 10:21:37