Javascript oninvalid事件&;Internet Explorer?
我正在使用Javascript oninvalid事件&;Internet Explorer?,javascript,html,Javascript,Html,我正在使用oninvalid事件自定义错误验证消息。很明显,这不是我在测试中确认的internet explorer。我必须支持IE 11。有什么样的工作环境 编辑: 如果我展示一个代码示例,说明我正在做的事情,可能会更容易 "using strict"; (function setCustomValidation(doc) { var elems = doc.querySelectorAll("[required]"); _.forEach(elems,
oninvalid事件
自定义错误验证消息。很明显,这不是我在测试中确认的internet explorer。我必须支持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是否适用于此。如果我错了,请纠正我
这里有一个我也有同样的问题,我的代码也没有在IE11中触发无效事件 我变了
item.oninvalid = (e) => { ... }
到
它成功了。希望它仍能帮助您(或其他遇到此问题的人)oninput。可以使用onchange和onblur。如果将JS中的oninvalid绑定为处理程序,则可以执行
onchange=“if(!this.checkValidity())this.oninvalid(event)”
或类似操作。您使用它的目的是什么?
item.addEventListener('invalid', (e) => { ... });