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

时间:2013-03-29 21:54:46

标签: javascript jquery

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

以下是HTML概述:

input

那么如何将表单的操作url参数字符串<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> 更改为在&quantity[]=XXX的字段中键入的特定值?

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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();
});