Кнопка PHP plus / minus работает неправильно

У меня есть страница корзины, и есть кнопка плюс минус для количества с каждым элементом на странице.

Когда я нажимаю на первые элементы плюс/минус кнопка это работает хорошо, но когда я нажимаю на вторые элементы кнопки, то кнопки работает, и он изменяет количество на первых элементов ввода количества и не обновляет количество ни для 1-го или второго элемента, но изменяет только номер.

Введите описание изображения здесь

КОД

<iframe name="quantity" style="display:none;"></iframe>

<form action="checkout_qty_update.php" method="post" target="quantity">
<input type="hidden" value="<?php echo $prITTD; ?>" name="hiddenID">
<input style="font-size:21px;" type="submit" value="-" onclick='javascript: subtractQty();' class="minus">
<input id="number" type="number" value="<?php echo $qtyT; ?>" class="qty" name="picpac"/>
<input style="font-size:21px;" type="submit" value="+"  onclick='javascript: document.getElementById("number").value++;' class="plus">
</form>

JS для плюс / минус

function subtractQty(){
    if(document.getElementById("number").value - 1 < 1)
return;
    else
 document.getElementById("number").value--;
}

1 ответ

  1. Я уверен, что это потому, что все ваши входные данные имеют одинаковый идентификаторnumber.

    Попробуйте изменить HTML-код следующим образом

    <form action="checkout_qty_update.php" method="post" target="quantity">
      <input type="hidden" value="<?php echo $prITTD; ?>" name="hiddenID">
      <input [...] onclick="javascript: subtractQty('<?php echo $prITTD; ?>');" >
      <input [...] id="number_<?php echo $prITTD; ?>" />
      <input [...] onclick="javascript: document.getElementById('number_<?php echo $prITTD; ?>').value++;">
    </form>
    

    И ваш код JS

    function subtractQty(prITTD){
      var pr = document.getElementById("number_" + prITTD);
      if (pr.value - 1 < 1)
        return;
      else
        pr.value--;
    }