지금까지 if문 잘 써왔는데 갑자기 조건문이 안 먹히는 현상이 발생하였습니다...ㅜ.ㅜ
물론 컴퓨터는 거짓말을 하지 않으니 어디가 틀렸는지 요리보고 조리보고
열심히 뜯어봤는데 왜 이러는 지 알 수가 없네요..
[ test.js ] -- 자바스크립트입니다.
if(f.type.value !='3' || !(f.type.value =='5' && f.yyyy.value < 2015) || !(f.type.value =='6' && f.yyyy.value < 2015) ){
alert("pass!");
} else {
alert("fail!");
}
소스가 너무 길어서... 문제되는 부분만 잘라왔습니다;;
type이 '3'이 아니거나, (or)
type이 '5'이면서(and) 2015년 전 자료가 아니거나, (or)
type이 '6'이면서(and) 2015년 전 자료가 아닌 것들을
걸러내는 if문을 만들었는데, 문제는 type이 '5'이면서 2015년 전의 자료들이 같이 'pass!'라는 알림창이 떠버리네요ㅠㅠ
조건문을 타기 전에 type과 yyyy를 찍어내는 alert를 띄워봤는데 값은 제대로 뜨고 있습니다.
대체 조건을 어떻게 잘못 썼길래 이런 일이 일어나는지..제 눈엔 틀린 게 없어 보이는데..
함께 봐주셨으면 감사하겠습니다~ ㅜ.ㅜ
============
p.s
if(f.type.value =='3' || (f.type.value =='5' && f.yyyy.value < 2015) || (f.type.value =='6' && f.yyyy.value < 2015) ){
alert("pass!");
} else {
alert("fail!");
}
요렇게 잡은 조건은 잘 먹히네요..대체 뭐가 문제인지..-_-