我正在尝试使用jQuery验证插件,然后通过ajax提交我的表单,但我遗漏了一些东西。有人有任何见解吗?
$('#theForm').validate({
focusInvalid: false,
invalidHandler: function () {
$('#message').addClass('error').html('Please fill out all necessary fields.').slideDown();
},
submitHandler: function (form) {
$('#message').removeClass('error').html('Saving info.').slideDown();
$.post(form.action, $(form).serialize(), function () {
$('#message').removeClass('error').html('Saving complete.').slideUp(3500);
});
}
});
答案 0 :(得分:0)
你正在传递
$(形式).serialize()
到$ .post的第二个参数,它应该以
的形式传递键/值对{姓名:“约翰”,时间:“下午2点”}
其中serialize()返回查询字符串。尝试使用serializeArray()返回JSON数据结构。如果这不起作用,您可能需要从表单中手动检索每个值,并将它们作为键/值对传递给$ .post。
答案 1 :(得分:0)
对于通过AJAX提交表单,您应该考虑Malsup's Form Plugins。它提供了一种处理各种表单字段类型的更好方法。要使其与jQuery验证插件一起使用,请参阅this example。