jQuery - 阻止默认,然后继续默认

2022-08-30 04:50:25

我有一个表单,在提交时,我需要在提交表单之前进行一些额外的处理。我可以阻止默认表单提交行为,然后进行其他处理(它基本上是调用Google Maps API并向表单添加一些隐藏字段) - 然后我需要表单提交。

有没有办法“防止违约”,然后在某个时间点后“继续违约”?


答案 1

jQuery.one()

将处理程序附加到元素的事件。处理程序在每个事件类型的每个元素最多执行一次

$('form').one('submit', function(e) {
    e.preventDefault();
    // do your things ...

    // and when you done:
    $(this).submit();
});

使用防止也无限循环,因为此自定义事件在第一次提交后被取消锁定。onesubmit


答案 2

当您将事件绑定到表单,并在返回之前执行要执行的操作(true)时,这些事情发生在实际提交之前。.submit()

例如:

$('form').submit(function(){
    alert('I do something before the actual submission');
    return true;
});

简单示例

关于 jquery.com 的另一个例子:http://api.jquery.com/submit/#entry-examples