2016-10-01 91 views
0

我有一个购物车页面,页面上每个项目都有一个加号减号按钮。PHP加号/减号按钮无法正常工作

当我点击第一项加号/减号按钮它工作正常,但是当我点击第二项按钮,然后按钮的作品,它改变了第一项数量输入数量,并没有更新数量为第一项或第二项但只更改数字。

enter image description here

CODE

<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--; 
} 
+0

我敢肯定,这是因为所有的输入型号码有相同的ID号'' – Robiseb

+0

@Robiseb我试过你说它不工作,请你告诉我如何把每个独特的ID。我试着把''number <?php echo $ prITTD;?>“' –

+0

这是正确的。我相信这些物品是以无形的方式创造的,你不能给他们一个身份证,因为这将永远是相同的。你需要为项目使用一个类。此外,你可以更好地使用一些'jquery'来做你想做的事情。 – Franco

回答

0

我敢肯定那是因为你的所有输入型号具有相同的ID number

尝试改变这样

<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代码的HTML代码

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