2015-08-20 43 views
0

我已閱讀下列SO topic回調當表單提交使用提交()方法

,我已經寫了下面的代碼:

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

但我沒有看到警示點擊提交後。

jsfiddle

小提琴有點不對了,因爲我不知道終點在哪裏可以發送請求。但在我的本地mashine我看到同樣的結果

回答

2

附上您表單的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事件處理和使用JQuery/Javascript的ajax。

2

的jQuery 1.8改變了這種性質,從該版本起ajaxComplete等全球處理器可以附加到文檔對象只

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

ajaxComplete

從jQuery 1.8開始,僅應將.ajaxComplete()方法連接到 文檔。

演示:Fiddle

+0

發送前是否有事件? – gstackoverflow

+0

@gstackoverflow http://api.jquery.com/category/ajax/global-ajax-event-handlers/ - 你有http://api.jquery.com/ajaxSend/ –

+0

我需要完全** $ form.submit (); **因爲表單提交後我下載文件 – gstackoverflow