zoukankan      html  css  js  c++  java
  • 使用ajax后提交事件后禁用按钮,事件执行完毕后,重新启用按钮

    一直想做这样的效果,实现的方法虽然不是很好,但效果还是出来了

    <script runat="server">
        /// <summary>
        /// 当Button2被点击,实际是Button3触发事件,这样就可以达到提交事件时禁用被提交的按钮效果
        /// </summary>
        protected void Button_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(5000);
            Page.ClientScript.RegisterStartupScript(this.GetType(), "TorunTrigger", "StartBtn()", false);
        }
    </script>
    <script type="text/javascript">
        function OffBtn() {
            //当Button2被禁用后,Button2的后台事件就不会被执行了,
            document.getElementById("Button2").disabled = true;
            document.getElementById("Button3").click();
            return true;
        }
        function StartBtn() {
            document.getElementById("Button2").disabled = false;
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>UpdateProgress Example</title>
        <style type="text/css">
            #UpdatePanel1, #UpdatePanel2, #UpdateProgress1 {
                border-right: gray 1px solid;
                border-top: gray 1px solid;
                border-left: gray 1px solid;
                border-bottom: gray 1px solid;
            }
    
            #UpdatePanel1, #UpdatePanel2 {
                 200px;
                height: 200px;
                position: relative;
                float: left;
                margin-left: 10px;
                margin-top: 10px;
            }
    
            #UpdateProgress1 {
                 400px;
                background-color: #FFC080;
                bottom: 0%;
                left: 0px;
                position: absolute;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:ScriptManager ID="ScriptManager1" runat="server" />
                <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
                    <ContentTemplate>
                        <%=DateTime.Now.ToString() %>
                        <br />
                        <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClientClick="return OffBtn()" />
                        <div style="display: none;">
                            <asp:Button ID="Button3" runat="server" OnClick="Button_Click" />
                        </div>
                    </ContentTemplate>
                </asp:UpdatePanel>
                <asp:UpdateProgress ID="UpdateProgress1" runat="server">
                    <ProgressTemplate>
                        Update in progress...
                    </ProgressTemplate>
                </asp:UpdateProgress>
    
            </div>
        </form>
    </body>
    </html>

    效果:

  • 相关阅读:
    存储过程使用收集
    网站伪静态技术(网页伪静态化)
    鼠标拖动层
    Oracle系统中用户权限的赋予,查看和管理(3)
    数据库中的锁查询及相关关系
    undo 管理
    grant 和 REVOKE权限
    Oracle系统中用户权限的赋予,查看和管理(2)
    了解数据库不同启动
    Oracle系统中用户权限的赋予,查看和管理(注意点)(4)
  • 原文地址:https://www.cnblogs.com/xushining/p/3694705.html
Copyright © 2011-2022 走看看