在提交表单之前,请等待用户2秒钟

时间:2012-04-15 16:10:42

标签: jquery

我有以下提交表单的代码:

$('form').submit(function () {
    ...
}

我想在输入此提交事件之前等待用户约2秒钟。 可能吗?也许是提前事件?

感谢。

1 个答案:

答案 0 :(得分:1)

尝试:

$('form').submit(function (e) {
  setTimeout(function() {
    $(this).submit();
  }, 2000);
  e.preventDefault();
}

使用e.preventDefault()取消表单的默认行为(例如,提交)。然后创建一个执行真实提交的超时。

也许你应该设置一个标志,因为使用.submit()可能会触发你正在听的“提交”事件。如果是这样,请尝试:

var attach_timeout = true;

$('form').submit(function (e) {
  if (attach_timeout) {
    setTimeout(function() {
      $(this).submit();
    }, 2000);
    attach_timeout = false;
    e.preventDefault();
  }
}