oninvalid event& Internet Explorer?

时间:2016-04-25 19:28:00

标签: javascript html5

我正在使用oninvalid event来自定义错误验证消息。显然它不是我在测试中确认的Internet Explorer中的supported。我必须支持IE 11.那里有什么样的工作?

编辑:
如果我展示一个我正在做的代码示例

,也许会更容易
"using strict";

(function setCustomValidation(doc) {
    var elems = doc.querySelectorAll("[required]");


    _.forEach(elems,
        function (item) {
            item.oninvalid = function(e) {
                e.target.setCustomValidity("");
                if (!e.target.validity.valid) {
                    e.target.setCustomValidity(e.target.getAttribute("data-errormessage"));
                }
            };
        });
})(document);

我正在创建一个共享实用程序,允许用户在任何必需元素上放置自定义错误消息。因此,您不会在浏览器中遇到默认错误消息。我不确定oninput, onchage, & onblur是否适用于此。如果我错了,请纠正我。

这是jsbin

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我的代码也没有在IE11中触发无效事件 我改变了

item.oninvalid = (e) => { ... }

item.addEventListener('invalid', (e) => { ... });

它有效。希望它仍然可以帮助你(或任何遇到此事的人)