【问题标题】:Detect if the HTML5 `required` attribute is enforced检测是否强制执行 HTML5 `required` 属性
【发布时间】:2015-12-19 13:03:06
【问题描述】:

是否有一种简单的方法可以测试 HTML5 required 属性是否在提交表单时实际上由浏览器强制执行?即如果未填写必填字段,则无法提交表单。

我宁愿不为此添加modernizr,而https://stackoverflow.com/a/3937924/117704不适用于Safari:当必填字段时,Safari不会阻止表单提交,并且在Safari中document.createElement('input').required仍然不是undefined

我想实现类似https://stackoverflow.com/a/31319587/117704 的解决方案,但只为不强制执行required 属性的浏览器启用它。

【问题讨论】:

    标签: html forms


    【解决方案1】:

    检查checkValidity()函数是否存在:

    function hasFormValidation() {
    
        return (typeof document.createElement( 'input' ).checkValidity == 'function');
    
    };
    

    这样称呼它:

    if( hasFormValidation() ) {
        // Form Validation supported
    };
    

    【讨论】:

    猜你喜欢
    • 2011-10-08
    • 2018-07-17
    • 1970-01-01
    • 2011-10-30
    • 2012-10-01
    • 2011-06-25
    • 1970-01-01
    • 2018-04-11
    • 2013-07-31
    相关资源
    最近更新 更多