2012-06-05 91 views
0

我希望这里的专家之一,可以点我有我一直在一个jQuery对话框脚本正确的方向保存时不工作..jQuery的模态窗体验证与AJAX

我的问题:我能当通过$ .ajax()保存时,不会验证与我的对话窗口一起工作。我的脚本工作得很好,如果我不通过AJAX保存并提交表单:

例如。 $(this).find('form#mws-validate-event')。submit();

如果任何人有一段时间来看看我已经留下的代码,并帮助验证部分,我会非常感激。我已经在stackoverflow上搜索高低,但还没有找到解决方案。

谢谢。

 $("#mws-addform-dialog").dialog({ 
       autoOpen: false, 
       title: "My Form/Add New", 
       modal: true, 
       width: "480", 
      //working validation (NO AJAX) 
      //buttons: [{ 
      //  text: "Submit", 
      //  click: function() { 
      //   $(this).find('form#mws-validate-event').submit(); 
      //  }}] 
      buttons: { 
      "Submit": function() { 

      }, 
      'Save': function() { 

       $.ajax({ 
        type : 'POST', 
        url : 'ajax.php?action=addnew', 
        data : $('#mws-validate-event').serialize(), 
        beforeSubmit : function(){ 
         // Validate data before submit?? anyone?? 
         //$(this).find('form#mws-validate-event').submit(); 
        }, 
        success : function(data) { 
         // Show OK message 
         $('#mws-validate-event').find('.mws-form-message').html(data); 
         alert('ok'); 
        }, 
        error: function(error){ 
         // Show error message 
         alert('error'); 
        } 
       }); 

      }, 
      'Cancel': function() { 

       $(this).dialog("close"); 

      } 
      } 
     }); 

     $("#mws-addform-dialog-btn").bind("click", function(event) { 
      $("#mws-addform-dialog").dialog("option", {modal: true}).dialog("open"); 
      event.preventDefault(); 
     }); 
     //- modal form 

     // validate form   
     $("#mws-validate-event").validate({ 
     //ignore: ".ignore", 
      rules: { 
       spinner: { 
        required: true, 
        max: 5 
       } 

      }, 
      invalidHandler: function(form, validator) { 
       var errors = validator.numberOfInvalids(); 
       if (errors) { 
        var message = errors == 1 
        ? 'You missed 1 field. It has been highlighted' 
        : 'You missed ' + errors + ' fields. They have been highlighted'; 
        $("#mws-validate-error").html(message).show(); 
       } else { 
        $("#mws-validate-error").hide(); 
        } 
      } 
     }); 
     //- validate form 

回答

0

您是否尝试过使用jquery验证器进行验证?它为你做了大部分验证工作,并且易于使用。

http://bassistance.de/jquery-plugins/jquery-plugin-validation/