【发布时间】:2016-11-01 04:06:03
【问题描述】:
我知道运行良好的 JS 验证函数(一直验证到 OnClientClick)。当被 OnClientClick 调用时,它们会检查是否所有必填字段都已填充,禁用提交按钮,并向 OnClientClick 返回正确的真/假验证。
问题在于禁用按钮。页面提交并重新加载,但未触发 OnClick 事件。备注
document.getElementById("<%=btnSubmit.ClientID %>").disabled = true;
代码允许 OnClick 事件触发。
我试过插入
this.disabled=true;
直接进入 OnClientClick,以及使用 UseSubmitBehavior=false。
为什么禁用按钮时 OnClick 事件不触发?
【问题讨论】:
-
如果按钮被禁用,则
OnClick函数不会被执行是正常的... -
您可以使用
setTimeout禁用该按钮,如这篇文章中所建议:stackoverflow.com/questions/37955604/…。 -
@ConnorsFan 提供的解决方案(使用 setTimeout)似乎解决了我的问题。我不确定为什么在单击按钮后禁用该按钮会很重要。解释一下就好了?
-
在按钮被点击时回发,并且仍然处于启用状态。数据发送到服务器后,可以禁用该按钮,而不会对服务器上正在进行的处理产生任何影响。
标签: javascript asp.net button onclick onclientclick