使用jquery更改表单url查询参数的输入更改状态
Change form url query parameter with jquery on input change state
尝试创建一个"添加到购物车"按钮与项目添加的数量,我已经添加了一个<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();
});
相关文章:
- 焦点输入时保持文本处于选中状态
- 如何在状态输入ui路由器时立即显示模板,然后当承诺被解决时显示数据
- 使用Angular.js验证表单输入的原始状态
- 验证输入,更新<td>属性以匹配验证状态
- Javascript:在表单中输入数据时,提交按钮不处于活动状态
- 清除值时,将输入背景颜色返回到原始状态
- 如何单元测试输入和解析 UI 路由器状态
- 将状态设置为“输入名称”字段的值时遇到问题
- 将焦点设置在带有错误消息的第一个输入元素上,并将包含它的 TabStrip 选项卡设置为活动状态
- 选择输入更改不会影响模型状态
- 在 React 中向组件添加新输入并跟踪状态
- 获取已从日期选择器中选择的输入的 React 状态
- 谷歌地图放置API V3自动完成 - 在输入时选择第一个选项(并使其保持这种状态)
- 检查是否有任何输入聚焦或处于活动状态,而不是在表单中
- 读取功能(无状态)组件中的<输入>
- 如何更改输入字段值,使其不会在每次更改时贯穿整个 Redux 状态更新周期
- 如何在页面刷新时保留无线电输入状态
- 单击后退按钮时如何保持输入状态
- 在反应中传递输入状态
- 在javascript中切换表单输入状态