如何使用jquery提交和重定向表单?

How can i submit and redirect a form using jquery

本文关键字:重定向 表单 提交 何使用 jquery      更新时间:2023-09-26

我想使用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);
        });