0

尝试创建一个带有要添加的项目数量的“添加到购物车”按钮,我已经添加了一个<input id="product_quantity" value="1" onChange="updateQuantity()" />到主form目录,因此每当我更改其中的值时,input它应该使用查询参数将表单的操作 url 更新为input字段中的相应值。

这是 HTML 中的概述:

<form action="index.php?option=com_virtuemart&view=cart&task=add&virtuemart_product_id[]=1&virtuemart_category_id[]=1&quantity[]=1&format=json">
    <input type="product_quantity" value="1" onChange="updateQuantity();"/>
    <input type="submit" />
</form>

那么如何将表单的操作 url 参数字符串更改&quantity[]=XXX为在字段中输入的特定值input

谢谢

4

2 回答 2

1

与其将数量作为 GET 参数放在 URL 上并尝试使用 javascript 更新它,只需name=quantity在输入字段上放置一个属性,它将与表单一起发布。通常,由于您要发布表单,因此您可能希望将数据作为 POST 参数而不是 get 发送。看起来您正在使用 PHP,因此您可以使用$_POST["quantity"]PHP 脚本访问您的帖子变量。

<form action="index.php?option=com_virtuemart&view=cart&task=add&virtuemart_product_id[]=1&virtuemart_category_id[]=1&format=json">
    <input type="text" name="quantity" value="1" onChange="updateQuantity();"/>
    <input type="submit" />
</form>

我可能也会将其他 GET 参数放在表单上的隐藏字段中。

于 2013-03-29T22:04:38.383 回答
1
$('#product_quantity').change(function () {

    var quantity = $(this).val();
    var form_url = $("form").attr("action");

    form_url.replace('quantity[]=1', 'quantity[]=' + quantity)

    //submit the form
    $("form").submit();
});
于 2013-03-29T22:07:08.207 回答