繁体   English   中英

单击后如何禁用链接按钮(无JQuery)

[英]How to disable link button after click (no JQuery)

我想在用户单击链接按钮后将其禁用。
但是我在这里做错了。

单击后仍启用按钮。 我究竟做错了什么?

<asp:LinkButton ID="submit" runat="server" 
        CssClass="button" 
        Text="OK" 
        OnClick="Submit_Click" 
        OnClientClick="this.disabled=true">
</asp:LinkButton>

只给return false; 到您的JavaScript。 原因是您的asp:LinkButton正在这样呈现。

<a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$submit','')" 
   class="button" 
   id="ContentPlaceHolder1_submit" 
   onclick="this.disabled = true;return false;">
OK</a>

因此,如果您不给return假,这些事情就会发生

  1. 它触发onclick事件 并禁用定位标记。 (anchor标签没有禁用的属性。 buttoninput type="submit"具有该属性。)
  2. 它继续触发回发并触发服务器端单击事件
  3. 由于存在回发,客户端JavaScript禁用将不会持续(即使它是一个按钮)

通过强制执行return false您将要求asp:LinkButton不再进行处理。

PS:我一直在使用PostBack Ritalin来防止对asp:Button多次单击。 IMO,在这种情况下绝对值得一看。

使用javascript调试器检查正在调用的方法。 LinkBut​​tons是服务器生成的JavaScript驱动的锚标记,因此可能很棘手。

试试这个Java脚本功能,

在您的OnClientClick上

    <asp:LinkButton  ID="submit" CssClass="button"  Text="OK" onclick="myButtonId_Click(this);return false;" ></asp:LinkButton>

增加功能

    protected void myButtonId_Click(target) {
     target.disabled = true;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM