gpt4 book ai didi

jquery - 如何延迟提交表单

转载 作者:行者123 更新时间:2023-12-03 21:56:31 25 4
gpt4 key购买 nike

在提交表单之前,我需要执行一个附加函数。这并不能解决问题。

$('form').submit( function(event) {
var formId = $(this).attr('id');
mySpecialFunction(formId);

event.preventDefault();

setTimeout( function () {
$(this).submit();
}, 300);

});

这显然不起作用。

最佳答案

您需要在表单元素本身上触发事件,而不是在 jQuery 选择上触发该事件。 (事实上​​,您甚至没有选择表单元素 - 在 setTimeout 内,this 是全局对象。)

缓存对表单 (this) 的引用并调用其 submit 方法:

$('form').submit( function(event) {
var formId = this.id,
form = this;
mySpecialFunction(formId);

event.preventDefault();

setTimeout( function () {
form.submit();
}, 300);
});

请注意,我还用 this.id 替换了低效的 $(this).attr('id') 调用。另请注意,您必须调用 DOM 表单元素的 Submit 方法,而不是 jQuery 方法,这样 jQuery 事件处理程序就不会被触发,这会导致无限(并且完全无效)循环。

关于jquery - 如何延迟提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com