我差不多完成了我的网站,但我的最后一个问题是,我想在按下提交按钮后按下按钮上的Loading.gif'关注'。为此,我需要在延迟后提交表单数据。为了显示关于提交提交的loading.gif,我不需要帮助,只是为了延迟。
我尝试了不同的代码,但它们没有用。以下是所有代码:
带有提交按钮的我的表单标签:
<form id=followForm action="" method="POST"><input type="submit" name="follow" class="btn_id9 shadow rounded-min ptr" value="Follow User" style="width:100%" /></form>
这里是代码示例,它没有用:
function formdelay(followform) {
$(function() {
setTimeout(function() { $('#followForm').submit(); }, 2000);
});
}
我希望你们能帮助我,谢谢!
答案 0 :(得分:0)
你需要做的是这样的事情:
$("#followForm input").click(function(e) {
e.preventDefault();
setTimeout(function() { $("#followForm").submit(); }, 2000);
});
关键是e.preventDefault()
。此方法将停止单击提交按钮(在表单上提交)的默认行为。然后,您可以执行任何操作,然后手动提交表单,这是$("#followForm").submit();
所做的。
答案 1 :(得分:0)
这是一个有趣的问题。我首先想到的是做这样的事情:
$('#followForm').on('submit', function (event, force) {
if (!force) {
var $this = $(this);
event.preventDefault();
setTimeout(function () {
$this.trigger('submit', true);
}, 2000);
}
});
基本上,您希望在初始提交事件上使用event.preventDefault()
,然后是超时。超时完成后,您重新触发事件,但传递force
参数,以便我们希望此次允许提交。