我正在使用javascript代码禁用该按钮,但我的服务器端事件没有触发..任何想法?
Javascript
------------------------
function DisableButton() {
if (typeof (Page_ClientValidate) == 'function') {
Page_ClientValidate();
}
if (Page_IsValid) {
document.getElementById('<%=BtnToprimaryValidation.ClientID%>').disabled = true;
document.getElementById('<%=BtnToprimaryValidation.ClientID%>').value = 'Please wait ...';
}
}
ASP.Net
-------------------------
<asp:Button ID="BtnToprimaryValidation" runat="server"
meta:resourcekey="BtnToprimaryValidationResource1"
CssClass="submitButton">
Server Side c#
---------------------------
protected void Page_Load(object sender, EventArgs e)
{
BtnToprimaryValidation.Click += BtnToprimaryValidationClick;
}
protected void BtnToprimaryValidationClick(object sender, EventArgs e)
{
}
先谢谢, Rahul R
答案 0 :(得分:0)
事件不会触发已禁用的项目
您必须将DisableButton
方法更改为return false
,而不是禁用,如下所示:
function DisableButton() {
if (typeof (Page_ClientValidate) == 'function') {
Page_ClientValidate();
}
if (Page_IsValid) {
document.getElementById('<%=BtnToprimaryValidation.ClientID%>').value = 'Please wait ...';
}
else {
return false;
}
}
答案 1 :(得分:0)
正如@mattytommo的上一个回答中所述,事件不会触发禁用按钮。
使用短暂超时首先触发事件,然后禁用按钮:
setTimeout(function(){
document.getElementById('<%=BtnToprimaryValidation.ClientID%>').disabled = true;
}, 100);
就像我在this question上建议的那样。