我有一个按钮,我想在提交表单时禁用该按钮,以防止用户多次提交。
我曾尝试天真地使用 javascript onclick 禁用该按钮,但如果客户端验证失败,该按钮仍保持禁用状态。
如何在表单成功提交时而不只是在用户单击时禁用该按钮?
这是一个 ASP.NET 表单,因此如果可能的话,我希望能够很好地与 asp.net ajax 页面生命周期挂钩。
我不太喜欢在代码隐藏中编写所有 JavaScript。这是我的最终解决方案。
Button:
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" OnClientClick="doSubmit(this)" />
JavaScript:
<script type="text/javascript"><!--
function doSubmit(btnSubmit) {
if (typeof(Page_ClientValidate) == 'function' && Page_ClientValidate() == false) {
return false;
}
btnSubmit.disabled = 'disabled';
btnSubmit.value = 'Processing. This may take several minutes...';
<%= ClientScript.GetPostBackEventReference(btnSubmit, string.Empty) %>;
}
//-->
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)