jQuery ajax提交验证

时间:2010-01-15 22:40:15

标签: jquery jquery-plugins

我正在尝试使用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);
        });
    }
});

2 个答案:

答案 0 :(得分:0)

你正在传递

  

$(形式).serialize()

到$ .post的第二个参数,它应该以

的形式传递键/值对
  

{姓名:“约翰”,时间:“下午2点”}

其中serialize()返回查询字符串。尝试使用serializeArray()返回JSON数据结构。如果这不起作用,您可能需要从表单中手动检索每个值,并将它们作为键/值对传递给$ .post。

答案 1 :(得分:0)

对于通过AJAX提交表单,您应该考虑Malsup's Form Plugins。它提供了一种处理各种表单字段类型的更好方法。要使其与jQuery验证插件一起使用,请参阅this example