在category.tpl中 Opencart 1.5.x 我正在尝试将数量添加到“添加到购物车”按钮。
<div class="cart">
<input type="text" name="quantity<?php echo $product['product_id']; ?>" value="1" size="1" />
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>', 'document.form.quantity<?php echo $product['product_id']; ?>.value')" class="button" />
</div>
如果我只是为 addToCart 的第二个变量输入一个数字,例如
addToCart('<?php echo $product['product_id']; ?>', 2);
这增加了数量 2 的罚款。检查 ff 中的元素名称显示数字正确地从 php 返回“quantity6.value”等。显然,但是当我单击“添加到购物车”时没有任何反应。有人能指出我正确的方向吗?
为了使其更简洁,我将行更改为: "onclick="addToCart('', document.getElementById('quantity').value)"class="button"/>
但该按钮似乎在单击时仍没有执行任何操作。我假设 document.getElementById().. 行没有正确返回数字,但我不确定测试它的好方法。
这似乎也不起作用:
<div class="cart">
<input type="text" name="quantity<?php echo $product['product_id']; ?>" value="1" size="1" onchange="updateQty(<?php echo $product['product_id']; ?>);" />
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>', getQty(<?php echo $product['product_id']; ?>);)" class="button" />
</div>
...
<script type="text/javascript"><!--
function getQty(num) {
getQty = document.getElementById('quantity' & num).value;
}
function updateQty(num) {
var ibox = document.form.quanity[num].value;
quantity[num] = ibox;
}
...
</script>
最佳答案
说实话,这似乎有点过头了。您只需将 onclick
事件上的函数更改为 addToCartCategory()
并将名称更改为数量框的 ID,即可使用一个函数来完成此操作。类似的东西
<div class="cart">
<input type="text" id="quantity<?php echo $product['product_id']; ?>" value="1" size="1" />
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCartCategory(<?php echo $product['product_id']; ?>)" class="button" />
</div>
...
<script type="text/javascript"><!--
function addToCartCategory(product_id) {
var qty = $('#quantity' + product_id).val();
addToCart(product_id, qty);
}
...
</script>
关于javascript - 为什么我的 javascript 不更新 Opencart Category.tpl 中的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499483/