2015-02-10 122 views
1

如何在使用verify.js时通过AJAX提交表单?我想verify.js只能验证登录表单:使用verify.js通过ajax提交表单

<form role="form" method="post" id="login" action="auth/login" > 
+2

你试过annything自己吗? – Rimble 2015-02-10 18:47:14

+0

如果您询问[验证插件](http://verifyjs.com),那么使用[tag:verify]标签而不是[tag:jquery-validate]标签是个好主意,它是一个完全不同的插件。编辑。谢谢。 – Sparky 2015-02-10 19:04:34

+0

您是否阅读过[文档](http://verifyjs.com/#how-to-option)?看起来你会把'ajax'放在'beforeSubmit'选项里面。 – Sparky 2015-02-10 19:10:19

回答

3

由于Sparky指出的那样,你可以执行beforeSubmit回调里面你的AJAX请求。为了将它放入前瞻性,你会做类似的东西:

$('#login').verify({ 
    'beforeSubmit': function(form, result) { 
     if (result) { 
      // Since the form is valid, submit form via AJAX. 
      $.ajax(...); 
     } 

     // Form is either invalid or was already submitted, return `false` to tell verify.js to not submit the form. 
     return false; 
    } 
}); 
+0

感谢您的回复现在我的问题是我们如何区分哪种形式提交?我们可以在这里通过它的形式吗? – user1951608 2015-02-11 18:19:06

+0

@ user1951608到'beforeSubmit'回调的第一个参数('form')应该是对正在提交的'

'元素的引用。 – cpburnz 2015-02-11 18:23:09

+0

亲爱的我的表单ID是表单基本的,所以告诉我我可以在表单的地方通过ID? – user1951608 2015-02-11 18:30:51

0

完整示例

<form id="formulario1" name="formulario1" action="destiny.php" method="POST"> 
<input type="text" name="field" id="field" class="form-control" placeholder="" value="" data-validate="required"> 
<input type="submit" onclick="function_validate_form()">  


</form> 
<script> 
function function_validate_form(){ 
    $('#formulario1').verify({ 
    'beforeSubmit': function(form, result) { 
    if (result) { 
     // Since the form is valid, submit form via AJAX. 
     alert('OK, send ajax'); 

     var formData = $("#formulario1").serializeArray(); 
      var URL = $("#formulario1").attr("action"); 
      $.post(URL, 
       formData, 
       function(data) 
       { 
       console.log(data); 

       },"json") 

       .fail(function(jqXHR, textStatus, errorThrown) 
       { 
       alert("error ajax"); 

       }); 


    }else{ 
     //do nothing 
    } 

    // Form is either invalid or was already submitted, return `false` to tell verify.js to not submit the form. 
    return false; 
} 
}); 
} 
</script> 
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script> 

<script src="plugins/jQueryUI/jquery-ui.min.js"></script> 

<script src="plugins/verify.notify.min.js"></script>