我希望在传递表单验证时调用一些ajax。问题是我的表单数据似乎在提交处理程序中丢失了。
这是我的代码:
$(function(){
$("#ticketSubmit").validate({
rules:{
name:{
required: true
}
}
submitHandler:function(form){
var dataString=$(this).serialize();
alert(dataString);
return false;
}
});
)};
我创建了这个jsfiddle:
答案 0 :(得分:3)
您遇到了许多格式问题,而且$(this)在您的示例中不起作用的原因是因为$(this)是对验证程序的引用而不是表单。你可以使用this.currentForm,虽然没问题。
$(function () {
$("#ticketSubmit").validate({
rules: {
name: {
required: true
}
},
submitHandler: function (form) {
var dataString = $(this.currentForm).serialize();
alert(dataString);
return false;
}
});
});
答案 1 :(得分:0)
好的,所以我必须使用:
var dataString = $(form).serialize();
为什么这不起作用:
var dataString = $(this).serialize();
答案 2 :(得分:0)
您遗漏了rules
和submitHandler
属性之间的逗号。
$(function () {
$("#ticketSubmit").validate({
rules: {
name: {
required: true
}
},
submitHandler: function (form) {
var dataString = $(this).serialize();
alert(dataString);
return false;
}
});
)
};