在Asp.NET aspx页面中,有一个数据保存按钮,当用户点击此按钮时,我希望: 1.立即禁用此按钮 2.然后调用函数Save()后面的代码将数据保存回DB 3.然后再次启用此按钮。
我的所作所为:
apsx中的JS函数:
function DisableSave(){ saveButton = document.getElementById('<%= btnSave.ClientID%>'); saveButton.disabled = TRUE; 返回false; }
按钮脚本:
< --- asp:Button ID =“btnSave”OnCommand =“Button_Command”CommandName =“Save”runat =“server” Text =“Save”OnClientClick =“javascript:DisableSave();”/>
在代码隐藏函数Save()(假设由CommandName调用)中,设置保存按钮启用。
但是当我运行代码时,只禁用保存按钮,没有发生代码隐藏调用。
如何解决?
答案 0 :(得分:3)
显然,某些浏览器(IE)在禁用按钮时不会处理按钮的提交操作。我在Firefox中尝试了这个并且它确实发布了回复,但是IE没有运气。一种解决方法虽然没有提供用户反馈,但却是OnClientClick="this.onclick= function() { return false; }"
。这至少会阻止更多的回发事件发生。
编辑:onclick需要是一个函数而不是字符串。
答案 1 :(得分:2)
问题是在onclick事件中使用JavaScript禁用按钮会停止回发。
this CodeProject文章中说明了一个简单的解决方法。