javascript - 如果其中任何一个条件满足,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]);
});
解决方案
您将 innerText 拼错为 inerText(以及您的提交按钮名称)。从那里开始。您的代码中有很多地方可能会发生异常,例如 checkRequired。我的建议是从
small.innerText = message;
推荐阅读
- annotations - 专门使用注释进行绘图时出错
- typescript - 如果存在特定值,如何删除对象键数组中的其他值?
- c# - 如何使用 appium 测试使用 wpf 创建的菜单
- php - 如何在 PHP 中获取从对话框流到 API 的自定义有效负载响应
- java - 如何使用 apache poi 从绘制的图中获取 getMajorUnit 值
- c - 如何在c中获取与char关联的值?
- python - 将游戏关卡存储在文件中的最佳方法?
- nginx - 如何使用反向代理在 Nginx 中处理应用程序级重定向
- django - Django - 使用原始查询并通过参数排序
- node.js - 安装 npm 包时如何解决证书错误?