问题描述
如上图,删除数据(删除按钮为input[type=button],请求方式是jQuery的$.post(...)异步请求)选中两条数据,第一次点击删除按钮发送如下请求,这里把这次请求记为请求A然后loadTable()异步重新加载表格数据,其中的GetOrderData请求为获取数据的请求再次选中两条数据,第二次点击删除按钮发送如下请求发送了两次请求第一次请求,记为请求B发送了两次请求,而发送的第一次与第一次点击删除按钮时发送的请求一样发送的第二次请求内容,记为请求C第二次请求为第二次删除真正要删除的数据如果再次删除,会发送三遍请求,第一次删除的请求A,第二次删除的请求C,第三次删除的请求,依次类推如下图:在网上找来找去也没解决,真是令人费解~
解决方案
解决方案二:
会不会是aspx页面form中默认的按钮焦点的问题
解决方案三:
感觉应该不是,请求的控制器中的Action
解决方案四:
事件重复注册?
解决方案五:
可以肯定是多次调用js方法了,实在找不到问题就在post前判断下,只要在执行就跳出
解决方案六:
问题应该在事件上吧?是不是自己又加了个Command判断了?
解决方案七:
肯定还是在代码逻辑上面
解决方案八:
引用3楼xuanbg的回复:
事件重复注册?
果真是实践重复注册,做了个Demo又重新测试了下,事件重复注册了。jQuery清除$("#btn").unbind('click')下就好了
解决方案九:
谢谢大家,可以结贴啦,这里给出事件重复注册测试代码<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><scriptsrc="jquery-1.8.2.min.js"></script><scripttype="text/javascript">$(function(){$("#btn1").click(function(){$("#btn").unbind('click').click(function(){alert("111111");});});$("#btn2").click(function(){$("#btn").unbind('click').click(function(){alert("222222");});});$("#btn3").click(function(){$("#btn").click(function(){alert("333333");});});$("#btn4").click(function(){$("#btn").click(function(){alert("444444");});});});</script></head><body>为“结果”按钮注册事件<inputvalue="注册按钮1"type="button"id="btn1"/><inputvalue="注册按钮2"type="button"id="btn2"/><inputvalue="注册按钮3"type="button"id="btn3"/><inputvalue="注册按钮4"type="button"id="btn4"/><br/><br/><br/><inputtype="button"id="btn"value="结果"/></body></html>
jQuery文件自己引用谢谢大家的回答啦,哈哈