首页 > 解决方案 > 如果其中任何一个条件满足,forEach 循环不会检查数组中的所有项目

问题描述

我有一个forEach数组循环,但有一个 if 语句来检查输入是否为空。问题是循环停止如果它找到一个空输入我希望它检查数组中的所有元素,即使 1 为空

这是我的代码

function showError(input, message) {
  const formControl = input.parentElement;
  formControl.className = "form-control error";
  const small = formControl.document.querySelector("small");
  small.inerText = message;
}
//show success message
function showSuccess(input) {
  const formControl = input.parentElement;
  formControl.className = "form-control success";
}

//check requiered fields

function checkRequired(inputArr) {
  inputArr.forEach(function(input) {

    if (input.value.trim() === "") {
      showError(input, "is required");
    } else {
      showSuccess(input);
    }
  });
}

// Event listener
form.addEventListener("submit", function(e) {
  e.preventDefault();
  checkRequired([username, email, password, password2]);
});

在此处输入图像描述]

标签: javascript

解决方案


您将 innerText 拼错为 inerText(以及您的提交按钮名称)。从那里开始。您的代码中有很多地方可能会发生异常,例如 checkRequired。我的建议是从

small.innerText = message;

推荐阅读