【发布时间】:2014-05-13 13:17:29
【问题描述】:
我想防止用户多次单击服务器按钮导致向服务器发送多个类似请求。
按钮是 ASP.Net 按钮(Webforms)。网站上有很多页面,我不想为每个按钮编写一些代码。我想在母版页上为所有按钮执行此操作。
一种可能的解决方案是找到按钮并在单击后将其禁用。喜欢:
$("input[type='submit']").click(function(){
$(this).attr('disabled','disabled');
});
此代码工作正常,但会覆盖按钮的前一个 onclick 事件。所以按钮不会执行提交或它想要执行的任何其他任务。
另一个解决方案是在“onbeforesubmit”事件中禁用所有提交按钮。它们将在回发后立即启用。这也不是一个好的解决方案,因为有些按钮会通过 Ajax 更新部分页面,并且在回发后它们无法重新启用 ajax 面板之外的其他按钮。
有没有办法找到点击的提交按钮并禁用它并允许它执行它的 onclick 事件?
【问题讨论】:
标签: javascript jquery asp.net