영카트 장바구니에서 개별상품 삭제하려고 합니다
본문
장바구니 페이지에서 일단 hidden 처리한 input 의 value 값을 자바스크립트로 넘겨 장바구니업뎃페이지에서 print_r로 post 변수를 출력해보았습니다 제대로 값이 출력되어보입니다 그러나 다른변수 연동은 잘 되어지나 제가 만든 변수는 올바른 방법을 사용하라는 메세지가 떠서 작업을 할수가 없습니다 $_post로 호출하면 그런에러가 뜹니다
고수님들 알려주심 감사하겠습니다
답변 3
올바른 방법을 ~~~<--이것은 alert함수를 호출할때 넘기는 값이 없을때 발생합니다
실제로는 0 이라는 값이 있음에도 0을 값이 없는 것으로 취급하여 생기는 일종의 버그입니다
아래처럼 값을 넣어보면 알 수있습니다
<input type="hidden" name="thisDelitem" value="1">
변수를 추가한 문제보다는
스크립트 오류가 나는 것 같습니다.
직접 소스를 올려주셔야 도와드릴 수 있습니다.
감사합니다... 늦은 밤 이렇게 봐주시는 분이 계시는 것만으로도 큰 위로가 됩니다.. ^^
cart.php 에서 혹시 자바스크립트로 값을 넘기는 것이 문제가 있나해서 아예 값을 직접 넣어 넘기는 데 그런 현상이 납니다.
제가 추가한 부분 은 빨간색으로 표기하겠습니다.
cart.php
각 상품 행 안의 가격부분 위에 삭제버튼 삽입
<td class="td_numbig text_right"><span id="sell_price_<?php echo $i; ?>" class="total_prc"><?php echo number_format($sell_price); ?></span><span class='won'>원</span>
<div class="ct_but_del" data-itid="<?php echo $i; ?>" onclick="return form_check('thisdelete');" >X</div>
</td>
<input type="hidden" name="thisDelitem" value="0">
<input type="hidden" name="url" value="./orderform.php">
<input type="hidden" name="records" value="<?php echo $i; ?>">
<input type="hidden" name="act" value="">
자바스크립트 수정
function form_check(act) {
var f = document.frmcartlist;
var cnt = f.records.value;
if (act == "buy")
{
if($("input[name^=ct_chk]:checked").size() < 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").size() < 1) {
alert("삭제하실 상품을 하나이상 선택해 주십시오.");
return false;
}
f.act.value = act;
f.submit();
}
else if (act == "thisdelete")
{
f.act.value = act;
f.submit();
}
return true;
}
cartupdate.php
//print_r2($_POST); exit; --> [thisDelitem] -> 0 이라고 잘 출력됨을 확인했습니다.
alert($_POST[thisDelitem]); --> 올바른 방법으로 이용해주세요. 라는 팝업이 나옵니다.
$_POST[thisDelitem] 로 번호를 받아서 [it_id][여기에 쓰려고 한 변수입니다.]
감사합니다. 한번 봐주시는 것만으로 가벼운 조언만으로도 감사드립니다.