Bootstrap4 验证在 IE 11 中不起作用
Bootstrap4 validation not working in IE 11
它在 chrome 和 edge 中完美运行,但在 IE11 中不行。我试图删除 novalidate,但它使验证仅在 IE11 中有效。
这是我的代码:
<form class="m-t needs-validation" id="needs-validation" role="form" action="index.html" novalidate>
<div class="form-group">
<input type="text" class="form-control" placeholder="Username" required>
<div class="invalid-feedback">
Please enter a valid username.
</div>
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Password" required>
<div class="invalid-feedback">
Please enter a valid password.
</div>
</div>
<button type="submit" class="btn btn-primary block full-width m-b">Login</button>
</form>
javascript 中的事件侦听器如下所示:
<script>
(function() {
'use strict';
window.addEventListener('load', function () {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function (evt) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
我的代码有没有做错以及如何修复它,所以它也可以在 IE11 中工作?
我找到了修复方法,只需在 IE11(底部)中允许阻止的内容警告,即 IE11 限制脚本和 ActiveX 控件。
它在 chrome 和 edge 中完美运行,但在 IE11 中不行。我试图删除 novalidate,但它使验证仅在 IE11 中有效。
这是我的代码:
<form class="m-t needs-validation" id="needs-validation" role="form" action="index.html" novalidate>
<div class="form-group">
<input type="text" class="form-control" placeholder="Username" required>
<div class="invalid-feedback">
Please enter a valid username.
</div>
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Password" required>
<div class="invalid-feedback">
Please enter a valid password.
</div>
</div>
<button type="submit" class="btn btn-primary block full-width m-b">Login</button>
</form>
javascript 中的事件侦听器如下所示:
<script>
(function() {
'use strict';
window.addEventListener('load', function () {
var forms = document.getElementsByClassName('needs-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function (evt) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
我的代码有没有做错以及如何修复它,所以它也可以在 IE11 中工作?
我找到了修复方法,只需在 IE11(底部)中允许阻止的内容警告,即 IE11 限制脚本和 ActiveX 控件。