下面的代碼是一個加減按鈕,假設從我的購物車數量中加 1 或減 1。<form method="post" style="margin: 0; display: inline-block;"> <button method="submit" name="plusBtn" value="add">+</button> <button method="submit" name="minusBtn" value="minus">-</button> <input type="hidden" name="productID" value="<?php echo $array['shoeId']; ?>"></form>這是加或減 1 的函數 function plusQuantity(){ $productId = $_POST['productID']; foreach($_SESSION['finalCart'] as $eachItem){ if($eachItem['shoeId'] === $productId){ $eachItem['quantity']+1; } } } function minusQuantity(){ $productId = $_POST['productID']; foreach($_SESSION['finalCart'] as $eachItem){ if($eachItem['shoeId'] === $productId){ if($eachItem['quantity'] = 1){ unset($eachItem['shoeId']); } else { $eachItem['quantity']-1; } } } }這就是我調用函數的方式 if(isset($_POST['plusBtn'])){ plusQuantity(); print_r($_SESSION['finalCart']); } if(isset($_POST['minusBtn'])){ minusQuantity(); }但是,當頁面加載時,該函數會自行加載,并且該函數似乎也不起作用,但是我添加了 print_r($_SESSION['finalCart'] 甚至一些回顯文本到函數部分的調用中看看該函數是否正在運行,并且確實它是在自己運行的。如果我能得到任何幫助,我仍然是 php 新手并嘗試學習它,謝謝。
1 回答
SMILET
TA貢獻1796條經驗 獲得超4個贊
這樣做的正確方法是使用 Ajax 調用,它會觸發 JavaScript 調用并獲取響應,而無需在提交時重新加載頁面。
或者,您可以制作(非常丑陋的解決方案)制作兩種形式:
<form action="/action_page.php">
<input type="hidden" name="plusBtn" value="add">
<input type="submit" value="+">
</form>
<form action="/action_page.php">
<input type="hidden" name="plusBtn" value="minus">
<input type="submit" value="-">
</form>
但我寧愿設計單選按鈕等或其他東西,并使用適當的 Ajax 調用。
- 1 回答
- 0 關注
- 169 瀏覽
添加回答
舉報
0/150
提交
取消
