bootbox确认无法正常工作

时间:2014-01-24 11:37:49

标签: javascript jquery asp.net bootbox

在我的情况下,当我点击按钮确认框被调用但同时服务器端代码执行时没有确认。 我的代码是

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" />

1 个答案:

答案 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")%>'); 
         }

     });
 });