2015-02-10 123 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>