如何使用jquery提交和重定向表单?
How can i submit and redirect a form using jquery
我想使用jquery提交和重定向表单。我试过这样做,但重定向不工作,这是我的代码。问题是我有两个提交按钮在我的形式,两者都重定向到其他页面时,我设置的动作=".....php"。但我不想更新购物车按钮重定向到任何其他页面,所以我想使用jquery提交和重定向表单。请给我一些解决办法。谢谢…
<script type="text/javascript">
$(document).ready(function(){
$('#updateCart').click(function(){
$('#form1').submit();
window.location.href='Checkout.php';
});
});
</script>
<form name="form1" method="post" id="cartform" class="clearfix" action="#">
<input type="submit" id="updateCart" value="Update Cart" class="btn-txt" name="update" onclick="update_cart()">
<input type="submit" class="checkout-button btn" name="checkout" />
</form>
您应该在更新购物车按钮上执行e.preventDefault();
,然后触发更新购物车的函数。
像这样:
<script type="text/javascript">
$(document).ready(function(){
$('#updateCart').click(function(e){
e.preventDefault();
updateCart();
});
});
</script>
您不希望在"update cart"按钮被按下时触发表单提交,而只希望在"checkout"按钮被按下时触发。
你的方法是可以的,但是你需要决定哪个按钮是你的正式表单"提交"按钮,哪个是附加到一个jQuery函数在提交之前更新表单。
我建议你不要为你的主"Checkout"按钮做任何javascript,因为你想让它转到一个支付页面,在那里你捕获支付细节-即表单将遵循它的action="checkout.php"
。
对于您的"更新购物车"按钮,请遵循APAD1的答案并根据您的需求进行调整。如果你要更新表单字段,你需要考虑使用json编码的返回数据…
你可以通过将它的类型设置为"button"来使它成为一个不提交的html按钮,然后它将在点击时运行javascript。然后,您可以将action属性放回表单,它只会为checkout提交按钮提交。
<button type="button" id="updateCart" class="btn-txt" name="update" onclick="update_cart()">Update Cart</button>
添加id或class
<form id="form1" ...>
将提交按钮更改为锚
<a id="submitAnchor"> ... </a>
,在javascript中提交表单并重定向用户
$("#submitAnchor").click(function(){
$(".form1").submit();
setTimeout(function() {
window.location = 'your URL';
}, 1000);
});
相关文章:
- 如何根据所选选项值重定向表单操作
- 根据答案重定向表单
- Rails jQuery.提交后如何重置表单
- 如何使用单击此处提交重定向表单
- Safari在重定向/表单提交时暂停所有动画
- 防止在没有ajax的情况下提交后重定向表单
- 具有输入类型文件字段的语义UI重置表单
- AngularJS-重置表单
- 重置表单后未删除验证消息
- jQuery,在toggle()中重置表单值
- 使用对话框中的jQuery验证重置表单
- 重定向表单失败
- 提交后重定向表单
- 在提交时使用JavaScript重定向表单插件
- JavaScript重定向表单提交
- 我需要提交表单,并在一个花哨的框中重定向表单提交的父页面
- 如何使用jquery提交和重定向表单?
- 使用下拉字段中的值重定向表单提交上的页面
- 重定向表单用户提交时,基于无线电选择仅
- 我试图在表单提交到一个新页面后,根据用户选择的多个选项(Javascript.html)重定向表单