자바 스크립트 질문
본문
function form_check(act) {
var f = document.frmcartlist;
var cnt = f.records.value;
if (act == "buy")
{
if($("input[name^=ct_chk]:checked").length < 1) {
alert("주문하실 상품을 하나이상 선택해 주십시오.");
return false;
}
if (<?php echo $member['mb_6'] ?> == '1') {
alert("미납 포인트를 납부하셔야 결제가 가능합니다.");
return false;
}
f.act.value = act;
f.submit();
}
else if (act == "alldelete")
{
f.act.value = act;
f.submit();
}
else if (act == "seldelete")
{
if($("input[name^=ct_chk]:checked").length < 1) {
alert("삭제하실 상품을 하나이상 선택해 주십시오.");
return false;
}
f.act.value = act;
f.submit();
}
return true;
}
위 소스에서
if (<?php echo $member['mb_6'] ?> == '1') {
alert("미납 포인트를 납부하셔야 결제가 가능합니다.");
return false;
}
이게 문제인데
저걸 지우면 정상 작동(장바구니에서 구매하기, 바로 구매하기 등)이 됩니다.
근데 저걸 넣으면 정상 작동이 되지 않고 member['mb_6'] == '1' 일 경우만 정상 작동이 됩니다.
member['mb_6']가 1이 아닌 다른 값에서는 정상 작동하지 않습니다.
뭔가 잘못 적어 넣은건가요?
!-->답변 6
값이 없으면 0. 간단하게 아래 코드 추가해주면 되겠네요.
if ( parseInt(<?php echo $member['mb_6'] ?>)||0 == 1) {
mb6 값의 타입 때문일 수도 있습니다.
대입값이 '1'이 아닌 1로 해보세요.
console.log 안에 넣으면 mb6 값이 어떻게 나오나요?
console.log("<?php echo $member['mb_6'] ?>");
위에 값 넣어보시고 크롬에서 F12 콘솔창 열은다음에
아무값이나 나오는지 확인하거나
alert("<?php echo $member['mb_6'] ?>"); 알림팝업에 값이 0 혹은 1이 뜨는지 확인해보세요.
1이 아닌 경우에는 0이 아닌 값이 없는것 같습니다.
비교대상의 값이나 변수가 없기 때문에 안됩니다.
let check = "<?php echo $member['mb_6'] ?>";
if (check == "1" || check = "")
위처럼 변수에 값을 넣고 빈값인지 체크하시면 될것 같습니다.