验证输入字段不为空
Validating input fields not empty
我编写了这段代码来验证是否所有输入字段都已填写。如果不提交是不允许的,但是当它是正确的时候我必须点击提交按钮两次,第一次它验证并添加 eventListener 第二次它运行因为它有事件监听器。如何修改代码,以便我只需单击一次?
function validaInput() {
const inputs = document.querySelectorAll(".input-field");
let validez;
inputs.forEach(function(input) {
if (input.value !== "") {
validez = true;
} else {
validez = false;
}
});
if (validez) {
submitBtn.addEventListener("click", calculaPromedio);
submitBtn.addEventListener("click", addMateria);
} else {
alert("No ha llenado todos los campos.");
}
}
调用相关函数即可,无需添加监听器。 (此外,否则每次单击按钮时都会添加新的重复侦听器。)
if (validez) {
calculaPromedio();
addMateria();
} else {
alert("No ha llenado todos los campos.");
}
如果您在这些函数中使用 this
,则需要例如calculaPromedio.call(this)
.
我编写了这段代码来验证是否所有输入字段都已填写。如果不提交是不允许的,但是当它是正确的时候我必须点击提交按钮两次,第一次它验证并添加 eventListener 第二次它运行因为它有事件监听器。如何修改代码,以便我只需单击一次?
function validaInput() {
const inputs = document.querySelectorAll(".input-field");
let validez;
inputs.forEach(function(input) {
if (input.value !== "") {
validez = true;
} else {
validez = false;
}
});
if (validez) {
submitBtn.addEventListener("click", calculaPromedio);
submitBtn.addEventListener("click", addMateria);
} else {
alert("No ha llenado todos los campos.");
}
}
调用相关函数即可,无需添加监听器。 (此外,否则每次单击按钮时都会添加新的重复侦听器。)
if (validez) {
calculaPromedio();
addMateria();
} else {
alert("No ha llenado todos los campos.");
}
如果您在这些函数中使用 this
,则需要例如calculaPromedio.call(this)
.