javascript - jQuery 验证 + 通过 $.post 提交

标签 javascript jquery html

你好!

我的问题是以下:

验证插件对我来说工作正常,除了我不希望表单在它仍然无效时提交。

事实是,它会验证并显示错误,但即使它无效也会提交。


验证

$("form#form-utilizadores").validate({
  rules:{
    nome:{
      required:true
    },
    utilizador:{
      required:true
    },
    password:{
      required:true
    },
    tipo:{
      required:true
    }
  }
});


提交

$('form#form-utilizadores').submit(function(e){
    e.preventDefault();
    var data = $(this).serialize();
    $.post('submit/submit-utilizadores.php',data,function(data){
      alert((data=='sucesso') ? 'Adicionado com sucesso!' : data);
      top.location.reload();
    }
  );
});

感谢您花时间帮助我! :)

最佳答案

您应该将您拥有的代码放在 $('form#form-utilizadores').submit() 中并将其放在 jQuery 验证的 submitHandler 参数中设置,试试这个:

$("form#form-utilizadores").validate({
    rules: {
        // your current rules...
    },
    submitHandler: function(form) {
        var data = $(form).serialize();
        $.post(    
            'submit/submit-utilizadores.php',
            data,
            function(data) {
                alert((data=='sucesso') ? 'Adicionado com sucesso!' : data);
                top.location.reload();
            }
        );
    }
});

你当前的代码总是提交的原因是因为表单 submit 事件总是被引发,无论表单是否有效。通过 submitHandler 让 jQuery 验证控制是否发布表单,这取决于它的有效性。

关于javascript - jQuery 验证 + 通过 $.post 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10796394/

相关文章:

javascript - 使用 javaScript 打印 toDataURL 图像

javascript - jQuery 抓取动态 data-* 属性的值

html - 使用折叠导航栏的不透明度设置背景颜色

html - 更改 <select> 高亮颜色

javascript - NODE.JS:当表单提交时出现后端错误时,如何让前端 JS 事件监听器?

java - Raphael JS 和 Java Web 应用程序

javascript - 在调用之前从外部脚本覆盖对象函数

javascript - 如何在删除/添加内容时使内容滑动?

javascript - 点击下拉菜单

javascript - 使用链接打开对象标签中的内容