使用jQuery表单验证自定义Ajax请求
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
,但它不起作用。
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
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- "日期“;AJAX请求返回的类型值未定义
- 在等待ajax请求时显示微调器并禁用页面
- 跨域ajax请求
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax请求成功,但可以'我看不到我的数据
- 如何将给定的curl命令复制为jquery ajax请求
- 为什么我能够从javascript控制台发送跨域ajax请求
- 一台特定计算机的Ajax请求数据未定义/失败
- 获取ajax请求的请求头
- 原型Ajax请求参数为嵌套json
- 可以't从AJAX请求中筛选数据
- jQuery Mobile Collapse上的AJAX请求
- 暂停函数执行流程,直到ajax请求完成