在我的情况下,当我点击按钮确认框被调用但同时服务器端代码执行时没有确认。 我的代码是
function btnApprovePayments()
{
var ans = checkrecordofpayment(); //here returns true or false
if (ans == true) {
bootbox.confirm("Are You Sure To Approve This Payment ?", function (e) {
if(e)
{ return true; }
});
}
}
<asp:Button ID="btn_Approve_Payments" runat="server" Text="Approve" OnClientClick="return btnApprovePayments();" onclick="btn_Approve_Payments_Click" />
答案 0 :(得分:1)
bootbox.confirm在行为上是异步的,所以我们无法阻止它的流动。我们必须改变我们的问题行为
首先,你必须通过应用e.preventdefault()来防止bootbox的默认行为; 然后在真实的部分添加你的逻辑,无论你想做什么。 然后使用__doPostBack调用服务器端函数('btnDelete','OnClick');
$(function () {
$(".popup_button_delete").click(function (e) {
e.preventDefault();
var counter = GetSelected();
if (counter > 0) {
bootbox.confirm(' <%=GetLocalResourceObject("DeleteConfirm") %> ', function (confirmed) {
if (confirmed == true) {
__doPostBack('btnDelete', 'OnClick');
}
});
}
else {
bootbox.alert('<%=GetLocalResourceObject("NoSelectionAlert")%>');
}
});
});