使用 submit() 方法提交表单时的回调

callback when form submitted using submit() method

我已阅读以下 SO topic

我写了下面的代码:

$form = $("#form"); 
$form.bind('ajax:complete', function() {
            alert("done");
 });
 $form.submit();

但是点击提交后我没有看到提示。

jsfiddle

Fiddle 有点不对,因为我不知道可以发送请求的端点。但是在我本地的机器上我看到了相同的结果

jQuery 1.8 改变了这种性质,从那个版本开始,ajaxComplete 和其他全局处理程序只能附加到文档对象

$(document).ajaxComplete(function () {
    alert("done");
});

ajaxComplete

As of jQuery 1.8, the .ajaxComplete() method should only be attached to document.

演示:Fiddle

首先在表单的 onsubmit 事件中附加处理程序,然后在该处理程序中调用 ajax,当 ajax 成功时显示消息完成:

   $form = $("#form"); 
    $form.on("submit",function()
    {
       alert("submitting..");
       //do ajax
       $.ajax({
                 url:<submit url>,
                 type:post/get,
                 success:function() { alert("done");  }
             });
    });
     $form.submit();

请阅读有关 DOM 事件处理和 ajax 使用 JQuery/Javascript 的更多信息。