[英]Button onClick Event Handler Never Fires in Chrome Only
我正在使用一個舊的ASP.NET WebForms應用程序,該應用程序具有帶以下控件的.aspx頁面:
<asp:Button ID="Budget_Approve" OnClick="Budget_Approve_Click" runat="server"
Visible="True" Width="100" Height="30" Text="Approve"></asp:Button>
Budget_Approve_Click
事件處理程序永遠不會被命中,我正在嘗試確定原因。 我注意到頁面加載時,執行此代碼以向onclick
屬性添加一些內聯j:
Budget_Approve.Attributes.Add("onclick", "return confirm_approve();");
呈現的HTML:
<input type="submit" name="ctl00$mainContent$Budget_Approve" value="Approve"
onclick="return confirm_approve();WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$mainContent$Budget_Approve",
"", true, "", "", false, false))"
id="ctl00_mainContent_Budget_Approve" style="height:30px;width:100px;">
所以當我點擊時,我希望執行confirm_approve()
。 如果它返回true
,我希望回發和我的事件處理程序觸發。 在Chrome中調試,我發現confirm_approve()
確實返回true
:
但是,回發永遠不會發生, Budget_Approve_Click
事件處理程序永遠不會被命中。 為什么不?
編輯:我嘗試刪除完全添加內聯JavaScript代碼的行。 但是,仍然沒有回發。 為按鈕呈現以下HTML:
<input type="submit" name="ctl00$mainContent$Budget_Approve"
value="Approve"
onclick="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$mainContent$Budget_Approve",
"", true, "", "", false, false))"
id="ctl00_mainContent_Budget_Approve" style="height:30px;width:100px;" />
更新:發現回發在IE中可以正常工作 ,但仍然不是Chrome。 是否存在可能導致此問題的特定於瀏覽器的設置或問題?
我會用這個來解決它:
Budget_Approve.Attributes.Add("onclick", "if (!confirm_approve()) return false;");
試試這個...
Budget_Approve.Attributes.Add("onclick", "if (!confirm_approve()) return false;");
檢查您的按鈕是否以某種方式被禁用。
$(“input [type ='submit']”)。attr(“disabled”,“disabled”);
如果出現類似情況,Chrome將會收到不完整的POST請求。 ASP.NET不會觸發服務器端事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.