javascript - 如何阻止提交但仍验证必填字段?

标签 javascript jquery ajax html validation

我有一个表单,提交时我使用 e.preventDefault() 阻止它,但我仍然希望浏览器在进行 AJAX 调用之前验证必填字段。

我不想迷恋 javascript 验证,我只想让浏览器验证必填字段 (HTML5)。

我怎样才能实现这个目标?

最佳答案

即使您不执行 checkValidity 检查,它仍然有效。在chrome中,如果表单无效,它不会调用表单上的提交函数:

$(document).ready(function(){
    $("#calendar_form").submit(function(e){
        e.preventDefault();
        calendarDoAjax();
    });

    function calendarDoAjax(){
        var proceed = false;
        if( $("#calendar_form")[0].checkValidity ){
            if ($("#calendar_form")[0].checkValidity()) {
                proceed = true;
            }
        }else{
            proceed = true;
        }
        if (proceed) {
            //Do ajax call
        }
    }

});

关于javascript - 如何阻止提交但仍验证必填字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22030597/

相关文章:

javascript - 在动态创建的按钮 javascript 中调用函数

jquery - 如何初始化可在 MVC3 应用程序中动态加载的 jquery ui 小部件

html - data-* 属性及其值是否被谷歌看到或使用?

javascript - 将光标更改为在发送 Ajax 请愿之前等待

javascript - jQuery Promise 然后在 AJAX 之后不工作

javascript - 设置多种 MimeTypes

javascript - Chrome 扩展程序 - 不保存数据

javascript - 循环中的嵌套 Jquery 选择器当前元素

jquery - 使用 xml 文件填充下拉菜单

javascript - DropDown Menu 不会显示超过一秒钟..不工作。