我的代码是:
<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";
}