설정이 잘못되었지만 PHP가 서버 측에서 실행됩니다. 따라서 이것이 클라이언트 액션이기 때문에 JavaScript를 사용하여 액션을 선택해야합니다. (당신은 또한 오래된 fasion 양식을 사용할 수 있습니다). jQuery는 allready가 AJAX 지원 기능을 내장하고 있으므로 쉽게 사용할 수 있습니다. 기본적으로 onClick에서 삭제하려는 요소의 "ID"를 전달하는 함수를 호출하면됩니다. 그런 다음 해당 함수는 해당 ID를 가져와 요소를 제거하는 다른 스크립트로 AJAX 호출을 작성합니다. 해당 스크립트가 성공하면 JavaScript로 요소를 삭제 (또는 숨기기)하도록합니다. 이 방법은 사용자가 결코 떠나지 않는다 또는 페이지를 새로 고침하고 스크립트가
여기
i = 0;
foreach($_SESSION['cart'] as $item)
{
//Populate items in a table ?>
<tr>
<td><center><?php echo $i; ?></center></td>
<td><center><?php echo $item['item'];?></center></td>
<td><center><?php echo '£'. $item['unitprice'];?></center></td>
<td><center><?php echo $item['quantity'];?></center></td>
<td><center><?php echo '£'.($item['unitprice'] * $item['quantity']) ?></center></td>
<td><input type="submit" value="Remove" onClick="RemoveItem(<?= $i ?>)" ></td>
</tr>
<?php
$total += ($item['unitprice'] * $item['quantity']);
$i++;
}
내가 사용하는 온 클릭 섹션을 변경했습니다 (요청을 검증 등을 데이터베이스 업데이트, 세션 업데이트 등) 몇 가지 추가 정리 작업을 수행 할 수 있습니다 자바 스크립트 호출. 내가 <?php echo
대신 <?= tag
을 사용했음을 알 수 있습니다. 이것은 php5에서 약식 <?=
을 사용하여 표현식을 반향시킬 수 있기 때문입니다.
스크립트 섹션에서 이와 같은 작업을 수행 할 수 있습니다. 더 안전하기 때문에 POST를 사용합니다. 는 DOM에서 항목을 제거하기위한
function RemoveItem(id) {
$.post('script-to-remove.php',
{ ItemID: id },
function(data) {
if(data==='success') {
//Remove item from DOM
} else alert("There was an error!"); //If you want error handling
}
);
}
, 정말 같은 페이드 아웃, slideUp, 애니메이션 등 내가 div의로 다시 포맷을 조사하는 것처럼 작동합니다 멋진 효과 없음 이래 약간의 테이블과 난이도를.
php 스크립트에 관해서는, unset을 호출하는 것처럼 간단합니다. 가능하면 요청의 유효성을 검사 할 수 있도록 더 많이 개발할 수 있지만, 지금은 설정하지 않을 것입니다.
<?php
$ItemID = isset($_POST['ItemID'])?intval($_POST['ItemID']):-1;
if($ItemID<0) die("Invalid ID"); //Change this if you want
if(isset($_SESSION['cart'][$ItemID])) unset($_SESSION['cart'][$ItemID]);
echo 'success';
?>
기본적으로이에, 내가 먼저, 그렇지 않으면 내가 -1에 기본, 그것은 정수의 확인 및 저장, 올바른 매개 변수가 와서 확인하십시오. 그런 다음 항목 ID가 0 (너무 잘못됨) 인 경우 스크립트에 메시지를 출력하고 종료하도록 지시합니다. 마지막으로 ID 또는 인덱스의 값이 실제로 있는지 확인하고 설정을 해제합니다. 그것이 끝나면 성공을 출력하십시오.
안녕하세요! 빠른 답변 주셔서 감사합니다 ...하지만 솔직히 말해서 나는 AJAX 나 jQuery를 시도한 적이 없으므로 아이디어를 얻지 못했을 것입니다 ... 미안하지만, 나는 숙련되지 않습니다. 저는 멍청합니다.))) –
Google을 사용하여 몇 가지 추가 정보를 얻을 수 있도록 정보를 업데이트했습니다. 정말로 AJAX에 뛰어 들기를 원하지 않는다면 (그렇지만), 설정되지 않은 스크립트로가는 양식을 사용할 수 있습니다. 하지만 ID를 제대로 전달해야합니다. 그렇지 않으면 여기에 몇 가지 독서가 있습니다. http://phpcodeforbeginner.blogspot.com/2013/01/jquery-ajax-tutorial-and-example-of.html http://net.tutsplus.com/articles/web-roundups/jquery-for- absolute-beginners-video-series/ – CP510
정말 고마워요! 그 함수 RemoveItem .. 그것은 PHP 함수입니까? –