2013-11-12 5 views
0

У меня есть корзина с таблицей, в которой перечислены все предметы, которые у вас есть, с указанием количества, цены и названия продукта. Теперь я хочу, чтобы пользователи могли легко изменять количество элемента. Как я могу сделать эту работу? Это решение, которое я сам придумал, не работает:Обновление количества товара в корзине с формой

<tr> 
     <td><?=$item["product_id"]?></td> 
     <td> 
      <form method="post" id="<?=$item["product_id"]?>"> 
       <input type="text" name="aantal" value="<?=$item["aantal"]?>">&nbsp; 
       <input type="submit" name="change_aantal_<?=$item["product_id"]?>" value="Update"> 
      </form> 
      <? 
       if(isset($_POST["change_aantal_".$item["product_id"].""])) { 
        updateCart($item["id"], $_POST["aantal"]); 
       } 
      ?> 
     </td> 
     <td><?=$item["aantal"] * $item["price"]?></td> 
     <td><a href="/removefromcart.php?id=<?=$item["id"]?>">Verwijderen</a></td> 
    </tr> 

Функция, которая фактически выполняет обновление, отлично работает. Это как раз то, как я делаю эту форму.

+0

Вы думаете о JavaScript или JQuery? Это событие onchange, которое запускается при изменении ввода. Вы можете добавить в него метод обновления, и ваша работа будет выполнена. –

+0

Как я могу выполнить функцию PHP при изменении? –

+0

О, вы хотите php ... im sry, не заметили этого. Но тогда я не знаю, где настоящая проблема. Выполняется ли функция even updateCart()? Если нет, то, вероятно, проблема вашего предложения if, этот $ _POST выглядит чрезвычайно странно. И вы не указали действие в элементе

. Он действителен, если вы хотите отправить его самому себе, но не соответствует стандартам W3C. –

ответ

2

Как работает ваш updateCart()? Удалите product_id из своей отправки (а также в ваш if-clause). Добавьте скрытый ввод с вами $ item ['product_id'] и вызовите updateCart() с этими значениями.

Так было бы, как

<table> 
<tr> 
    <td><?= $item["product_id"] ?></td> 
    <td> 
     <form method="post" id="<?= $item["product_id"] ?>"> 
      <input type="text" name="aantal" value="<?= $item["aantal"] ?>">&nbsp; 
      <input type="submit" name="change_aantal" value="Update"> 
      <input type="hidden" name="product_id" value="<?= $item['product_id']; ?>"> 
     </form> 
     <? 
     if (isset($_POST["change_aantal"])) { 
      updateCart($_POST["product_id"], $_POST["aantal"]); 
     } 
     ?> 
    </td> 
    <td><?= $item["aantal"] * $item["price"] ?></td> 
    <td><a href="/removefromcart.php?id=<?= $item["product_id"] ?>">Verwijderen</a></td> 
</tr> 

Смежные вопросы