下面的代码是一个加减按钮,假设从我的购物车数量中加 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 关注
- 128 浏览
添加回答
举报
0/150
提交
取消