2 回答
TA贡献2003条经验 获得超2个赞
的firstName,lastName和subject可变指向的输入不是他们的实际值的内侧。您可以将函数修改为
function formValidation(contactForm) {
if (!firstName.value || !lastName.value || !subject.value) {
alert('Please fill out required fields.')
event.preventDefault()
return false;
} else {
return true;
}
}
在这里,我使用!运算符将输入转换True为空时,如果任何输入为空,则将评估第一种情况,否则您的函数将返回 true。
TA贡献1789条经验 获得超10个赞
既然你这样做
if (firstName && lastName && subject !== true) {
...
}
我假设你希望这样做
if (firstName.value === '') {
alertStyle = document.getElementById('fName').style.border = '2px solid rgba(255, 6, 0)';
alertImg = document.getElementById('firstNameMsg').style.display = 'inline-block';
return false;
会做这样的事情
firstName = true
但它实际上并没有为firstName. 它只是返回真。
你可以有一个变量 like isValidand doisValid = true而不是在你的checkLastName() etc..
但是,既然你这样做
document.getElementById('lastNameMsg').style.display = 'none'
你可以做
function formValidation(contactForm) {
if (document.getElementById('lastNameMsg').style.display !== 'none') {
alert('Please fill out required fields.')
event.preventDefault()
return false;
} else if (document.getElementById('lastNameMsg').style.display === 'none') {
return true;
}
}
无论如何,有多种方法可以简化,但希望这能让你继续前进:)
添加回答
举报