2 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
的firstName,lastName和subject可變指向的輸入不是他們的實(shí)際值的內(nèi)側(cè)。您可以將函數(shù)修改為
function formValidation(contactForm) {
if (!firstName.value || !lastName.value || !subject.value) {
alert('Please fill out required fields.')
event.preventDefault()
return false;
} else {
return true;
}
}
在這里,我使用!運(yùn)算符將輸入轉(zhuǎn)換True為空時(shí),如果任何輸入為空,則將評(píng)估第一種情況,否則您的函數(shù)將返回 true。

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
既然你這樣做
if (firstName && lastName && subject !== true) {
...
}
我假設(shè)你希望這樣做
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;
會(huì)做這樣的事情
firstName = true
但它實(shí)際上并沒(méi)有為firstName. 它只是返回真。
你可以有一個(gè)變量 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;
}
}
無(wú)論如何,有多種方法可以簡(jiǎn)化,但希望這能讓你繼續(xù)前進(jìn):)
添加回答
舉報(bào)