如何识别使用javascript发出请求的按钮

时间:2014-04-19 08:37:44

标签: javascript jquery

我有三个更新面板。现在我只需要在更新面板中实现一个禁用按钮的功能,当它被点击并在请求结束后启用它。对于javascript的一些知识,我在这里创建了三个函数:

<script>

        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler1);

        function BeginRequestHandler1(sender, args) {
            document.getElementById('<%=btn_Login.ClientID%>').innerText = "Processing..";
            $('#btn_Login').attr('class', 'btn-inactive');
            args.get_postBackElement().disabled = true;
        }

        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler2);

        function BeginRequestHandler2(sender, args) {
            document.getElementById('<%=btn_Subscribe.ClientID%>').innerText = "Processing..";
            $('#btn_Subscribe').attr('class', 'btn-inactive');
            args.get_postBackElement().disabled = true;
        }

        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler3);

        function BeginRequestHandler3(sender, args) {
            document.getElementById('<%=btnsubmit.ClientID%>').innerText = "Processing..";
            $('#btn_Subscribe').attr('class', 'btn-inactive');
            args.get_postBackElement().disabled = true;
        }

    </script>

这里有三个diff脚本用于处理三个diff btoon请求。在这里,我想制作一个通用脚本,用于识别哪个按钮使用id发回回请求,然后才会改变它的行为。

请帮帮我......

2 个答案:

答案 0 :(得分:2)

您不需要注册add_beginRequest功能来实现您的需求。

将按钮定义如下:

<asp:Button runat="server" ID="btn_Login" Text="Login" OnClientClick="disableButton(this)" OnClick="ProcessClick_Handler" />

<asp:Button runat="server" ID="btn_Subscribe" Text="Login" OnClientClick="disableButton(this)" OnClick="ProcessClick_Handler" />

<asp:Button runat="server" ID="btnsubmit" Text="Login" OnClientClick="disableButton(this)" OnClick="ProcessClick_Handler" />

并使用此脚本禁用:

<script>
 function disableButton(button){
     $(button).val("Processing..").attr('class','btn-inactive').attr('disabled',true);
 }
</script>

那就是它!

答案 1 :(得分:0)

为每个按钮指定一个id并使用document.getElementBYId(id)。现在,您可以识别单击每个按钮的按钮。