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

下面的代码是一个加减按钮,假设从我的购物车数量中加 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 新手并尝试学习它,谢谢。


小怪兽爱吃肉
浏览 130回答 1
1回答

SMILET

这样做的正确方法是使用 Ajax 调用,它会触发 JavaScript 调用并获取响应,而无需在提交时重新加载页面。或者,您可以制作(非常丑陋的解决方案)制作两种形式:<form action="/action_page.php">&nbsp; <input type="hidden" name="plusBtn" value="add">&nbsp; <input type="submit" value="+"></form><form action="/action_page.php">&nbsp; <input type="hidden" name="plusBtn" value="minus">&nbsp; <input type="submit" value="-"></form>但我宁愿设计单选按钮等或其他东西,并使用适当的 Ajax 调用。
打开App,查看更多内容
随时随地看视频慕课网APP