禁用asp.net按钮的Javascript

禁用asp.net按钮的Javascript,javascript,asp.net,Javascript,Asp.net,我使用以下Javascript在单击后禁用按钮: var c = 0; function DisableClick(target) { var objName = target; document.getElementById(objName).disabled = true; c = c + 1; msg = 'Please Wait...(' + c + ')!'; document.getElementById(objName).value = ms

我使用以下Javascript在单击后禁用按钮:

var c = 0;
function DisableClick(target) {
    var objName = target;
    document.getElementById(objName).disabled = true;
    c = c + 1;
    msg = 'Please Wait...(' + c + ')!';
    document.getElementById(objName).value = msg;
    var t = setTimeout('DisableClick()', 1000);
}

<asp:Button ID="btnLogin" runat="server" CssClass="cssLoginButton blue"  Text="Log in" ToolTip="Log in" ValidationGroup="UserLogin" onclick="btnLogin_Click" OnClientClick="DisableClick('btnLogin')" />
var c=0;
功能禁用单击(目标){
var objName=目标;
document.getElementById(objName).disabled=true;
c=c+1;
msg='请稍候…('+c+')!';
document.getElementById(objName).value=msg;
var t=setTimeout('DisableClick()',1000);
}
我的Javascript出现以下错误:

Microsoft JScript运行时错误:无法设置属性“已禁用”的值:对象为null或未定义

我如何解决这个问题?

你可以这样做

OnClientClick = "JavaScript: return false; "

返回空值

您确定传递的是正确的身份证吗。按钮?

您可以

OnClientClick = "JavaScript: return false; "

返回空值


您确定传递的是正确的身份证吗。按钮?

你能做的就是在身体负重时调用这个函数,它应该可以正常工作。因此,代码将是

<script type="text/javascript">
function disableBtn()
{
var btn= document.getElementById("<%=Button1.ClientID%>");
btn.disabled=true;
}
</script>

函数disableBtn()
{
var btn=document.getElementById(“”);
btn.disabled=true;
}
Html


...

希望这对你有帮助

你能做的就是在身体负重时调用这个函数,它应该可以正常工作。因此,代码将是

<script type="text/javascript">
function disableBtn()
{
var btn= document.getElementById("<%=Button1.ClientID%>");
btn.disabled=true;
}
</script>

函数disableBtn()
{
var btn=document.getElementById(“”);
btn.disabled=true;
}
Html


...

希望这对你有帮助

您可以在javascript函数中传递单击的按钮对象。如果不需要回发,则返回false

改变

OnClientClick="DisableClick('btnLogin')" 


您可以在javascript函数中传递单击的按钮对象。如果不需要回发,则返回false

改变

OnClientClick="DisableClick('btnLogin')" 


详细信息:这将解决禁用按钮以及显示消息直到过程完成的问题

标记

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>

      .... Your other code

        <asp:Button ID="btnLogin" runat="server" CssClass="cssLoginButton blue"  Text="Log in" ToolTip="Log in"
           OnClientClick="this.disabled=true;" ValidationGroup="UserLogin" onclick="btnLogin_Click"  />

     </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
            Please Wait...
        </ProgressTemplate>
    </asp:UpdateProgress>

详细信息:这将解决禁用按钮以及显示消息直到过程完成的问题

标记

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>

      .... Your other code

        <asp:Button ID="btnLogin" runat="server" CssClass="cssLoginButton blue"  Text="Log in" ToolTip="Log in"
           OnClientClick="this.disabled=true;" ValidationGroup="UserLogin" onclick="btnLogin_Click"  />

     </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
            Please Wait...
        </ProgressTemplate>
    </asp:UpdateProgress>

并且必须返回false,否则正在进行回发。感谢@Aristos,更新了我的答案。感谢@Aristos,我收到了此错误Microsoft JScript运行时错误:无法设置属性“value”的值:对象为null或未定义您需要更改文档。getElementById(objName)。value=msg;to target.value=msg@亚里士多德和阿迪尔:是的,我禁用它1秒钟。因为我在脚本中提到了时间,但在1秒钟后,我收到了相同的错误Microsoft JScript运行时错误:无法设置属性“disabled”的值:对象为null或未定义,并且必须返回false,否则正在回发。谢谢@Aristos,更新了我的答案。感谢@Aristos我收到此错误Microsoft JScript运行时错误:无法设置属性“value”的值:对象为null或未定义您需要更改文档。getElementById(objName)。value=msg;to target.value=msg@亚里士多德和阿迪尔:是的,我禁用它1秒钟。因为我在脚本中提到了时间,但在1秒之后,我收到了相同的错误Microsoft JScript运行时错误:无法设置属性“disabled”的值:对象为null或未定义