使用jquery更改表单url查询参数的输入更改状态

Change form url query parameter with jquery on input change state

本文关键字:输入 状态 参数 url jquery 表单 使用 查询      更新时间:2023-09-26

尝试创建一个"添加到购物车"按钮与项目添加的数量,我已经添加了一个<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>

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

谢谢

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

<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参数放在表单的隐藏字段中

$('#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();
});