使用jquery/js提交表单后延迟页面重定向



我的代码是:

<input class="toBasketButton" type="submit" value="">

类似的东西?

$(function(){
    $('input.toBasketButton').click(function(event){
        event.preventDefault();
        var button = this;
        window.setTimeout(function(form){
            $(form).submit();
        }, 1000, $(button).closest('form'));
    });
});
<form action="" method="post">
    <input class="toBasketButton" type="submit" value="Submit">
</form>

(工作示例)

您可以尝试使用jQuery的ajaxForm插件(http://jquery.malsup.com/form/)

这使你能够通过ajax提交表单,这意味着你永远不会离开页面,除非你想离开。这样,你就可以让用户提交,执行你需要做的任何事情,一旦你完成了重定向,就可以像往常一样通过JS或PHP重定向。用户不会知道区别——延迟对他们来说是一样的,但你可以在提交点击和重定向之间获得所有控制权,从而可以执行任何其他需要的操作。

示例:

$(form).ajaxForm({
    dataType:  "json", 
    success:   myFormSubmissionIsDone, 
    url: "/some/controller/action/", 
    type: "post", timeout: 30000
});
function myFormSubmissionIsDone() { 
      // This and that, whatever you need to do...
      window.location = "/newlocation/redirecting/now/yay";
 }

最新更新