2012-03-06 64 views
0

在我的應用程序正在使用產生以下標記插件:處理成功的表單提交使用jQuery

<form id="addCommentForm" 
    action="/foo/add" 
    method="post" 
    onsubmit=" 
    jQuery.ajax({type:'POST', data:jQuery(this).serialize(), 
     url:'/foo/add', 

     success:function(data,textStatus) { 
     jQuery('#comments').html(data); 
     },   
    }); 
    return false"> 

<!-- form elements here --> 
</form> 

當表單提交成功我想通過定義成功處理後做別的事情插件,說alert('hello');

我之所以苦苦掙扎,是因爲我不能將我的代碼添加到上面成功處理程序的末尾,因爲這段代碼不在我的控制之下。

我查找了一個表單事件,該表單事件在onsubmit之後執行,我可以附加我的代碼,但沒有找到任何東西。

+0

除了ajaxSuccess http://api.jquery.com/category/ajax/global-ajax-event-handlers/全系列ajax方法 – charlietfl 2012-03-06 17:31:52

回答

3

如果你無法去改變它,你可以使用.ajaxSuccess()來處理所有的外部Ajax調用並篩選您需要的一個:

$('form').ajaxSuccess(function(evt, request, settings) { 
if (settings.url == 'xxx') 
    alert('test'); 
}); 

不漂亮,但它可能爲你工作。