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)
{
....
}
考虑注册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中涉及对话框的问题。当我在发布提交之前关闭对话框时,它起了作用。