为了账号安全,请及时绑定邮箱和手机立即绑定

奇怪的问题,但是当我没有点击按钮时,为什么我的表单提交

奇怪的问题,但是当我没有点击按钮时,为什么我的表单提交

PHP
小怪兽爱吃肉 2022-06-11 18:04:30
下面的代码是一个加减按钮,假设从我的购物车数量中加 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 调用。


查看完整回答
反对 回复 2022-06-11
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信