简体   繁体   中英

click event not fireing

Once i add the JavaScript code into the program, the button OnClick event is not firing, any ideas why this occurs?,I have passed the C# code for the progress bar and when clicked it loads the progress bar.I would like to know why button click event is not firing.

HTML and JavaScript Code :

            <asp:Button ID="Confirm_btn" CssClass="confirmBtn" runat="server" Text="Generate Presentation" UseSubmitBehavior="true" 
                          ClientIDMode="Static" OnClick = "Confirm_Click" />

                         </td></tr>                          
                     <tr><td colspan="2" align="center">
                        <div id="progressbar" style="width:500px"></div>
                        </td></tr>    
                        </table>
                    </div>

                    <asp:Label ID="error" runat="server" ClientIDMode="Static" 
                        EnableViewState="False" Font-Names="Arial"></asp:Label>                    
                </center>
            </div>     

</asp:Content>
  <asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="server">
    <script type="text/javascript">
        $.updateProgressbar = function () {
            //Calling PageMethod for current progress
            PageMethods.OperationProgress(function (result) {
                //Updating progress
                $("#progressbar").progressbar('value', result.progress)
                //If operation is complete
                if (result.progress == 100) {
                    //Enable button
                    $("#Confirm_btn").attr('disabled', '');
                }
                //If not
                else {
                    //Reset timer
                    setTimeout($.updateProgressbar, 500);
                }
            });
        };

        $(document).ready(function () {
            //Progressbar initialization
            $("#progressbar").progressbar({ value: 0 });
            //Button click event
            $("#Confirm_btn").click(function (e) {
                e.preventDefault();
                //Disabling button
                $("#Confirm_btn").attr('disabled', 'disabled');
                //Making sure that progress indicate 0
                $("#progressbar").progressbar('value', 0);
                //Call PageMethod which triggers long running operation
                PageMethods.Operation(function (result) {
                    if (result) {
                        //Updating progress
                        $("#progressbar").progressbar('value', result.progress)
                        //Setting the timer
                        setTimeout($.updateProgressbar, 500);
                    }
                });
            });
        });
    </script>
</asp:Content>

C# Code For the ProgressBar :

/// <summary>
    /// PageMethod for triggering long running operation
    /// </summary>
    /// <returns></returns>
    [System.Web.Services.WebMethod(EnableSession = true)]
    public static object Operation()
    {
        HttpSessionState session = HttpContext.Current.Session;

        //Separate thread for long running operation
        ThreadPool.QueueUserWorkItem(delegate
        {
            int operationProgress;
            for (operationProgress = 0; operationProgress <= 100; operationProgress = operationProgress + 2)
            {
                session["OPERATION_PROGRESS"] = operationProgress;
                Thread.Sleep(1000);
            }
        });

        return new { progress = 0 };
    }

    /// <summary>
    /// PageMethod for reporting progress
    /// </summary>
    /// <returns></returns>
    [System.Web.Services.WebMethod(EnableSession = true)]
    public static object OperationProgress()
    {
        int operationProgress = 0;

        if (HttpContext.Current.Session["OPERATION_PROGRESS"] != null)
            operationProgress = (int)HttpContext.Current.Session["OPERATION_PROGRESS"];

        return new { progress = operationProgress };
    }
}

C# Code for Button Click Event :

protected void Confirm_Click(object sender, EventArgs e)
{
   // my process run here 
}

WebForms controls, by default, do not emit the exact id attribute that exists in the ID attribute of the server tag. You would need to use something similar to this for your jQuery selectors:

$('#<%: Confirm_btn.ClientID %>')
$("#Confirm_btn").live('click', function (e) {

});

Try this, Surely Works

Else

$("#Confirm_btn").on('click', function (e) {

});

Cheers

Phani*

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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