使用带有Jquery ajax表单的Bootstrap validator.js

时间:2015-03-22 15:52:08

标签: jquery ajax twitter-bootstrap

我正在尝试使用此验证器https://github.com/1000hz/bootstrap-validator进行客户端检查,然后允许ajax提交整个表单。我无法在文档中找到示例,并且我当前的代码不起作用,它将值作为GET查询字符串重新加载整个页面。有什么想法吗?谢谢!

 $('#send-form').validator().on('submit', function (e) {

   if (e.isDefaultPrevented()) {
          // handle the invalid form...
    } else {
                        // everything looks good!
       $.post( "/post/ajax",

            $( "#send-form" ).serialize(),

            function( data ) {

                 $( "#ajax-result" ).html( data );

            });

       }
   });

1 个答案:

答案 0 :(得分:13)

在else语句中添加e.preventDefault()

如果您查看#227 in the source code,如果表单无效,验证程序会阻止表单提交。因此e.isDefaultPrevented()可用于检查表单是否无效。

如果表单有效且提交表单(页面重新加载的原因),则执行表单的默认操作。由于您需要执行ajax,因此应该e.preventDefault()

停止默认操作
$('#send-form').validator().on('submit', function (e) {
    if (e.isDefaultPrevented()) {
        alert('form is not valid');
    } else {
        e.preventDefault();
        alert('form is valid');
        // your ajax
    }
});

这是demo

希望这有帮助