jQuery Submit Heisenbug

本文关键字:Heisenbug Submit jQuery | 更新日期: 2023-09-27 17:58:49

我有一个heisenbug-当我在它上面设置一个Firebug断点时,它就可以工作,但没有断点它就不能工作。

LoginSubmit函数是从我的代码中的两个位置调用的。在一个实例中,btnLoggSubmit_Click事件被成功激发,但在另一个例子中,除非我在$submitButton.Click()上设置断点,否则该事件不会激发;线

function LoginSubmit() {
    $("#diagnostics").text("");
    var $submitButton = $("#<%=btnLoginSubmit.ClientID %>");
    $submitButton.click();  // <-- This is the line of code that is not executing.
    $("#diagnostics").text("LoginSubmit failed to submit postback. ");
}
  <asp:Button ID="btnLoginSubmit" runat="server" Text="Submit" CssClass="hiddenButton" 
        OnClick="btnLoginSubmit_Click" OnClientClick="return true;" Visible="true" />

页后代码:

   protected void btnLoginSubmit_Click(object sender, EventArgs e)
    {
....
    }

jQuery Submit Heisenbug

考虑注册PostBackEventHandler,而不是点击按钮

  public partial class ScheduleEdit : System.Web.UI.Page,
        System.Web.UI.IPostBackEventHandler
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            var postBack = Page.ClientScript.GetPostBackEventReference(this, null);
            var script = "function postback() { " + postBack + "; }";
            Page.ClientScript.RegisterStartupScript(GetType(), this.UniqueID, script, true);
        }
        // this is called via the client side 'postback' script
        public void RaisePostBackEvent(string eventArgument)
        {
            DoStuff();
        }
    }

    // client side script:
    $("#DP").datepicker({
        onSelect: function (dateText, inst) { postback(); },
     });

该问题涉及jQuery中涉及对话框的问题。当我在发布提交之前关闭对话框时,它起了作用。