2009-10-14 108 views

回答

10

docs

 
$(".selector").validate({ 
    submitHandler: function(form) { 
    $(form).ajaxSubmit(); 
    } 
}) 
+0

描述唉該文檔的.valid()插件方法是胡說八道。上面的代碼做了一個標準表單提交,但是將內容類型設置爲「XMLHttpRequest」 - 如果你看看提交的內容是否與標準提交相同。我正在嘗試着解決如何解決這個問題,並在解決方案時回覆。參考http://stackoverflow.com/questions/18713714/testing-an-ajax-post-using-racktest-how-to-pass-in-data – 2013-09-18 01:20:43

+0

我的解決方案FYI是修改我的測試,並接受現實,jQuery Forms插件將表單數據作爲URL編碼參數字符串發送,而不是字符串化的JSON散列。 – 2013-09-18 01:37:08

2

根據http://malsup.com/jquery/form/#validation可以使用beforeSubmit選項提供返回true或false回調。

在該回調簡單地使用這裏http://jqueryvalidation.org/valid

$(document).ready(function() { 
    // jQuery Validation Plugin 
    $("#myForm1").validate(); 

    // jQuery form Plugin 
    var options = { 
     target:  '#output1', // target element(s) to be updated with server  response 
     beforeSubmit: validate,  // pre-submit callback 
     success:  showResponse // post-submit callback 
    }; 

    // bind form using 'ajaxForm' 
    $('#myForm1').ajaxForm(options); 
}); 

// Return validation status from jQuery validate plugin. 
function validate(formData, jqForm, options) { 
    return $('#myForm1').valid(); 
} 
+0

最佳答案,謝謝! – Gonzalingui 2015-01-05 10:19:22