在我的应用程序中,我使用的是一个生成以下标记的插件:
<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 :(得分:3)
如果你无法真正改变它,你可以使用.ajaxSuccess()来处理所有外部ajax调用并过滤你需要的那个:
$('form').ajaxSuccess(function(evt, request, settings) {
if (settings.url == 'xxx')
alert('test');
});
不漂亮,但它可能适合你。