我很难完全理解这段代码是如何工作的。这只是表单验证代码复制并从引导程序粘贴。
我的问题从这一行开始
var 验证 = Array.prototype.filter.call(forms, function(form)
在我看来,它正在创建一个名为validation的数组,其中包含类名为“needs-validation”的任何元素。然后是调用匿名函数并传入整个表单并运行后续代码行
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
在每个包含类名“needs-validation”的元素上?
<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
'use strict';
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
此代码成功验证表单上的输入。我只是不明白它是如何工作的。