如何使用AJAX提交经过验证的表单(使用jquery validate plugin)?

时间:2011-10-14 00:54:59

标签: jquery validation

我正在尝试验证我的表单,然后输入将被处理并存储在数据库中。我使用jquery插件进行验证。

以下是我的验证代码:

    $(document).ready(function(e) {

     var container = $('div#error');

      // validate the form when it is submitted
      var validator = $("#my_form").validate({
            errorContainer: container,
            errorLabelContainer: $("ol", container),
            wrapper: 'li',
            meta: "validate"
      });

      $('#submit').click(function () {

            $('body,html').animate({
                scrollTop: 0
            }, 800);
      });

});

我的表单如下:

<form id="my_form"  method="post" action="#">

      <input class="{validate:{required:true}}" type="text" name="name" />
      <input class="{validate:{required:true}}" type="text" name="age" />

      <input type="submit" />

</form>

现在,我想知道如何在验证后继续提交表单。我打算在它之后进行AJAX调用。

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用submitHandler选项的jQuery.validate来执行此类操作。请查看文档:{​​{3}}

答案 1 :(得分:0)

$(document).ready(function(e) {

     var container = $('div#error');

      // validate the form when it is submitted
      var validator = $("#my_form").validate({
            errorContainer: container,
            errorLabelContainer: $("ol", container),
            wrapper: 'li',
            meta: "validate"
      });

      $('form').submit(function () {
            if($(this).valid()){
                alert("test");
                //do ajax call
            }
            return false;
      });

});

这会手动检查表单是否有效。如果它是你想要的代码。如果表单无效,则返回false,以便表单不会发布到服务器。