我遇到了
JQuery(最新)的ajaxComplete()函数的问题.
这是场景:
表单显示在灯箱中,以允许用户输入送货地址.
该表单的提交按钮绑定到脚本的ajaxComplete()部分中的函数(因为表单本身是使用Ajax加载的).表单数据也通过Ajax发送到服务器.如果用户输入的数据不完整/无效,则会显示错误消息,用户可以再次输入.问题是,每次执行时,.done()Ajax函数都会以指数方式执行多次:第一次,然后是两次,然后是4次,等等.
我想这是因为每次进行Ajax调用并完成(如表单提交),事件第二次被绑定,然后这两个事件再次绑定,使其成为4个:-(
这是场景:
表单显示在灯箱中,以允许用户输入送货地址.
该表单的提交按钮绑定到脚本的ajaxComplete()部分中的函数(因为表单本身是使用Ajax加载的).表单数据也通过Ajax发送到服务器.如果用户输入的数据不完整/无效,则会显示错误消息,用户可以再次输入.问题是,每次执行时,.done()Ajax函数都会以指数方式执行多次:第一次,然后是两次,然后是4次,等等.
我想这是因为每次进行Ajax调用并完成(如表单提交),事件第二次被绑定,然后这两个事件再次绑定,使其成为4个:-(
这是一段代码片段:
$(document).ajaxComplete(function() { $('#frm_create_address').submit(function(event) { var formData = $('#frm_create_address').serialize(); $.ajax({ type : 'POST',url : '/ajax_results.asp?doIT=checkoutCreateAddress',data : formData,dataType : 'text',encode : true }) .done(function(data) { alert("Answer: " + data); }) .fail(function(jqXHR,textStatus) { alert("error: " + textStatus); }); return false; }); });
我在这里失去了…什么是防止多次触发.done()函数的最佳方法?
实际上更好的问题是:什么是阻止提交事件的多重绑定的最佳方法: – /
在此先感谢您的帮助!
克里斯
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。