使用 submit() 方法提交表单时的回调
Posted
技术标签:
【中文标题】使用 submit() 方法提交表单时的回调【英文标题】:callback when form submitted using submit() method 【发布时间】:2015-11-13 20:11:37 【问题描述】:我已阅读以下 SO topic
我写了以下代码:
$form = $("#form");
$form.bind('ajax:complete', function()
alert("done");
);
$form.submit();
但我在提交点击后没有看到警报。
jsfiddle
弄错了,因为我不知道可以发送请求的端点。但在我当地的机器上,我看到了相同的结果
【问题讨论】:
【参考方案1】:首先在表单的 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();
请阅读有关使用 JQuery/javascript 处理 DOM 事件和 ajax 的更多信息。
【讨论】:
【参考方案2】:jQuery 1.8 改变了这种性质,从那个版本开始,ajaxComplete 和其他全局处理程序只能附加到文档对象
$(document).ajaxComplete(function ()
alert("done");
);
ajaxComplete
从 jQuery 1.8 开始,应该只附加 .ajaxComplete() 方法 记录。
演示:Fiddle
【讨论】:
发送前有事件吗? @g*** api.jquery.com/category/ajax/global-ajax-event-handlers - 你有api.jquery.com/ajaxSend 我确实需要 $form.submit(); 因为表单提交后我下载文件以上是关于使用 submit() 方法提交表单时的回调的主要内容,如果未能解决你的问题,请参考以下文章