jquery – 如何延迟提交表单

前端之家收集整理的这篇文章主要介绍了jquery – 如何延迟提交表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在提交表单之前,我有一个附加的功能来执行.这不是诀窍.
$('form').submit( function(event) {
    var formId = $(this).attr('id');
    mySpecialFunction(formId);

    event.preventDefault();

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

});

这不明显.

解决方法

您需要在表单元素本身上触发事件,而不是在jQuery选择上. (实际上,你甚至没有选择表单元素 – 在setTimeout中,这是全局对象.)

缓存对表单(this)的引用,并调用其提交方法

$('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表单元素的提交方法,而不是jQuery方法,以便不会触发jQuery事件处理程序,这将导致无限(且完全无效)的循环.

原文链接:https://www.f2er.com/jquery/179490.html

猜你在找的jQuery相关文章