2013-07-23 81 views
0

我有一个窗体,我显示在fancybox模式内。我正在使用JQuery和AJAX提交表单。但由于某种原因,当我点击提交时,fancybox模式关闭。表单通过我的JQUERY和AJAX提交就好了。这是一个问题,因为如果有任何错误,它们应该显示在模态内部。我能做些什么来阻止它在提交时关闭?提交按钮关闭花式框

我jQuery和AJAX:

$("#change-pass").submit(function() { 

     var dataString = $(this).serialize(); 
     var $this = $(this); 
     $.ajax({ 
      type: "POST", 
      url: "change_password.php", 
      data: dataString, 
      success: function(html) { 
       $this.parent().find('.tutorial-text').html(html); 
      } 
     }); 


     return false; 

    }); 

谢谢!

+0

什么是$ this.parent()?也许这是包含fancybox的元素? – putvande

+0

'$(“#change-pass”)'你的表单的选择器? – JFK

回答

0

由于您使用的是ajax,因此您可能需要另一个fancybox来查找错误。您可以添加一个error处理程序到您的ajax调用,如:

$("#change-pass").submit(function() { 

    var dataString = $(this).serialize(); 
    var $this = $(this); 
    $.ajax({ 
     type: "POST", 
     url: "change_password.php", 
     data: dataString, 
     success: function(html) { 
      $this.parent().find('.tutorial-text').html(html); 
     }, 
     error : function(html){ 
      var errorMsg = // build your error msg here 
      $.fancybox.open(errorMsg, { 
       // API options 
      }) 
     } 
    }); 
    return false; 
});