单击一个按钮即可调用多个PHP函数

时间:2015-07-17 15:25:15

标签: javascript php forms button

我是一个相当陌生的PHP,遇到了一个适应别人程序的问题。我正在尝试实现购物车风格的php和javascript程序。购物车通过提交按钮(包括ID,数量,名称和价格)发布值来接受新条目。

    <form method="post" style="border:0px solid yellow;" ><fieldset>
    <input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
        <input type="hidden" name="my-item-id" value="1" />
        <input type="hidden" name="my-item-name" value="apples" />
        <input type="hidden" name="my-item-price" value="2" />
        <input type="hidden" name="my-item-qty" value="1" size="3" />


<input id="apples" type="submit" name="my-add-button" class="add" value="&nbsp"/>Apples - $2

</fieldset></form>

购物车通过php文件

通过GET命令删除项目
    if($_GET['jcartRemove'] && !$_POST) {
        $this->remove_item($_GET['jcartRemove']);
    }

可以通过

触发此GET命令
    <a href="index.php?jcartRemove=apples">no more apples</a>

但这只会触发一次。我想要的是有一个项目列表

  • 苹果
  • 桔子
  • 香蕉

当选择一个并通过表格贴法将其添加到购物车时,其他两个将自动从购物车中删除。有没有办法使用AJAX推送jcartRemove函数并删除其ID的两个项目?

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

除了进行多次AJAX调用之外,最好还是修改PHP并允许remove函数接受一个数组而不是一个项目。然后你可以传递一个或多个项目来立即删除所有项目。

例如:

if($_GET['jcartRemove'] && !$_POST) {
    if (is_array($_GET['jcartRemove'])) {
        foreach($_GET['jcartRemove'] as $item) {
             $this->remove_item($item);
        }
    } else {
        $this->remove_item($_GET['jcartRemove']);
    }
}

您的链接看起来像多个项目:

<a href="index.php?jcartRemove[]=apples&jcartRemove[]=bananas">no more apples or bananas</a>

因为我们正在检查jscartRemove是否是一个数组,你仍然可以像往常一样传递一个项目,它也将继续工作。