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

如何使用AJAX提交经过验证的表单(使用jquery验证插件)?,jquery,validation,Jquery,Validation,我试图在输入被处理并存储在数据库中之前验证我的表单。我使用jquery插件进行验证 以下是我的验证代码: $(document).ready(function(e) { var container = $('div#error'); // validate the form when it is submitted var validator = $("#my_form").validate({ errorContainer:

我试图在输入被处理并存储在数据库中之前验证我的表单。我使用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电话


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

您需要使用
jQuery的
submitHandler
。验证
选项来执行类似操作。请查看以下文档:


这将手动检查表单是否有效。如果是,请对代码执行您想要的操作。如果表单无效,则返回false,以便表单不会发布到服务器。

您要做的问题是,您不能信任仅在客户端执行的任何检查。您还需要在访问服务器后进行身份验证。您好@JasCav。我现在还在努力学习。如何在服务器端进行验证?嗨,Keith,我会尝试这个建议。嗨,Keith,我试图在if语句中添加一个警报,只是为了检查它是否会被执行,但由于我的html看起来像什么,它会重定向到索引页。你想完成什么?您是想将表单发布到服务器,还是只是想收集信息,然后进行ajax调用以将信息发送到服务器?我正在尝试获取表单上的数据,然后进行ajax调用。我已更新了答案。在这种情况下,我们总是希望返回false,这样提交就不会通过。同时从action属性中删除#,或者干脆一起删除action属性
$(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;
      });

});