Javascript 循环检查所有输入,但它';这只是第一个
我做了一个循环来检查所有Javascript 循环检查所有输入,但它';这只是第一个,javascript,loops,foreach,Javascript,Loops,Foreach,我做了一个循环来检查所有inputArr元素,但是它只检查第一个元素,如果它为真,则不检查其他元素并返回真。我需要检查所有这些,如果其中任何一个是假的,我想得到一个错误消息。我也尝试过forEach,但仍然不起作用 这是我的密码 btn.addEventListener('click', function () { let isValid = checkIfValid([firstName, surname, email, mobileNumber]) let userInfo
inputArr
元素,但是它只检查第一个元素,如果它为真,则不检查其他元素并返回真。我需要检查所有这些,如果其中任何一个是假的,我想得到一个错误消息。我也尝试过forEach,但仍然不起作用
这是我的密码
btn.addEventListener('click', function () {
let isValid = checkIfValid([firstName, surname, email, mobileNumber])
let userInfo = generateInputs(firstName.value, surname.value, email.value, mobileNumber.value);
if (isValid) {
console.log('all checked')
} else {
console.log('you need to fill all fields')
}
})
function checkIfValid(inputArr) {
for (let i = 0; i < inputArr.length; i++) {
if (inputArr[i].value === '') {
return false
} else {
console.log(inputArr[i].value)
return true
}
}
}
btn.addEventListener('click',函数(){
让isValid=checkIfValid([名字、姓氏、电子邮件、手机号码])
让userInfo=generateInputs(firstName.value、姓氏.value、email.value、mobileNumber.value);
如果(有效){
console.log('全部选中')
}否则{
console.log('您需要填写所有字段')
}
})
函数checkIfValid(inputArr){
for(设i=0;i
您的return true
语句停止for循环
这将起作用,在第一个无效项上返回false,否则返回true:
函数checkIfValid(inputArr){
for(设i=0;i
现代替代方案:
您可以使用Array.prototype.every()
简化代码:
函数checkIfValid(inputArr){
返回inputArr.every(el=>el.value!='');
}
返回
将退出循环,与中断