我正在使用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
答案 0 :(得分:0)
我有同样的问题,我的代码也没有在IE11中触发无效事件 我改变了
item.oninvalid = (e) => { ... }
到
item.addEventListener('invalid', (e) => { ... });
它有效。希望它仍然可以帮助你(或任何遇到此事的人)