잘 안됩니다. 채택완료
209값이 서울이면 경고를 띄우려는데 단 wr_area가 지방이면 패스하고 memo에 값이 없으면 경고를 띄우려는 것입니다...
그런데 wr_area값이 지방인데도 경고가 뜹니다. 뭐가 잘못된 걸까요?
<script>
//경고문구
$("input").click(function() {
if ($(":input:radio[name=wr_209]:checked").val() == "서울") {
if ($(":input:text[name=wr_area]").val() !== "지방" && $(":input:text[name=memo]").val() == '') {
alert("지방이라 패스되었으며 memo를 기재해주세요.");
}
}
});
</script>
답변 2개
로직을 다시 확인해봤습니다.
</p>
<p> if ($(":input:radio[name=wr_209]:checked").val() == "서울") {
if ($(":input:text[name=wr_area]").val() !== "지방" && $(":input:text[name=memo]").val() == '') {
alert("지방이라 패스되었으며 memo를 기재해주세요.");</p>
<p> }
}</p>
<p>
1번라인은 wr_209가 서울이면
2번라인블럭을 수행하는데
2번라인은 wr_area의 값과 타입비교가 지방이 아니고 " " 문자열이 아니고
memo가 없으면
alert을
"지방이라 패스되었으며...."
좀 이상하지 않으신가요?
결국
wr_area 의 값이 지방이 아니고
wr_209의 값이 서울이면
alert이 등장합니다.
답변에 대한 댓글 3개
원하는 형태가 서울이면 무조건 패스
지방이고 메모가 없으면 얼럿 이것이라면
if (서울 여부 체크) {
}
else if (지방 체크 } {
if (메모없음) {
alert( "메모없어요");
}
}
의 구조로 만드는게 가장 가독성이나 논리적인 표현이 단순합니다.
중요한건
논리식을 만들때
단순 명료하게 로직을 분리하세요
복합적일지라도 하나하나는결국 true / false 중 하나가 되거든요
&& && && 세가지 조건을 만족하면 얼럿 띄워라그...ㅋ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
209가 서울이면서 memo값이 없으면 얼럿
이때 wr_area가 지방일 때는 209가 서울이라도 얼럿 제외시키려면 어떻게 해야 할까요?