为啥我的 javascript 不更新 Opencart category.tpl 中的数量

Posted

技术标签:

【中文标题】为啥我的 javascript 不更新 Opencart category.tpl 中的数量【英文标题】:Why does my javascript not update quantity in Opencart category.tpl为什么我的 javascript 不更新 Opencart category.tpl 中的数量 【发布时间】:2013-05-06 03:42:51 【问题描述】:

在 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>

【问题讨论】:

这个按钮生成的 html 是什么样子的? 【参考方案1】:

说实话,这似乎有点过头了。只需将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 不更新 Opencart category.tpl 中的数量的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的python爬虫界面与博主不一样

为啥使用 JavaScript 在我的 PWA 上重复该位置?

为啥我的 Javascript 弹出窗口不再起作用?

为啥我的适配器更新不起作用

为啥我的 tableView 不向下滚动就不会更新?

为啥我使用 Javascript innerHTML 调用时我的图像不显示?