[英]Custom Ajax request with jQuery form validation
我想使用jQuery表單驗證插件來驗證表單,但無法使用驗證處理程序發送自定義Ajax請求:
$('#headForm').validate(
{
//submitHandler: submit,
errorClass: "invalid",
rules: {
title: {maxlength: 50}
},
messages: {
title: {maxlength: 'Max 50 chars'}
}
});
我的原始提交處理程序如下所示:
$('#headForm').submit(function(event)
{
event.preventDefault();
$.ajax(
{
type: "PUT",
url: "/target",
data: $('#headForm').serialize(),
dataType: "json",
success: function()
{
alert("ok");
}
});
});
我試圖將其移至常規功能,並在驗證塊submitHandler
其注冊為submitHandler
,但沒有用。
function submit() { // impossible to pass the event!
$.ajax( ...
}
如何將jQuery驗證與自定義Ajax請求結合在一起?
可能的表單驗證錯誤:我已經刪除了驗證代碼,以查看提交代碼是否沒有它就可以工作。 除非我刪除了jQuery表單驗證庫的鏈接,否則它不會! 因此,看來驗證已打破jQuery核心。 我是否已經說過我喜歡動態鍵入... ;-)
您是否在submit()
函數中定義了一個參數?
(我猜你沒有,這可能就是為什么它不起作用的原因)
我認為您只需要指定“ form”參數,然后對該參數調用serialize()
,如下所示:
submitHandler: function(form) {
$.ajax({
type: "PUT",
url: "/target",
data: form.serialize(),
dataType: "json",
success: function()
{
alert('ok');
}
});
}
請參閱文檔: http : //docs.jquery.com/Plugins/Validation/validate#options
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.