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>

    效果:

  • 相关阅读:
    项目相关的风险要素及分类
    IT从业人员必看的10个论坛(转)
    Android Input设备debug技巧
    Android中如何判断是否联网
    paip.tree 生成目录树到txt后的折叠查看
    hdu 4737 A Bit Fun
    FLASH ROM与EEPROM的区别
    Robot Framework学习路线
    Distinguishing Between Embedded and General-Purpose Computing
    服务的生命周期
  • 原文地址:https://www.cnblogs.com/xushining/p/3694705.html
Copyright © 2011-2022 走看看