首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bootbox.confirm()不能正常工作

bootbox.confirm()不能正常工作
EN

Stack Overflow用户
提问于 2014-04-29 06:43:53
回答 3查看 14.3K关注 0票数 0

,bootbox.confirm()有什么问题?,这是我的代码:

代码语言:javascript
复制
var record = bootbox.confirm("Are you sure you want to delete", function (res) {
    if (res == true) {
        return true;
    } else {
        return false;
    }
}
});

它不会等待确认,默认情况下返回true。如果使用的是在结尾返回false来阻止它消失

代码语言:javascript
复制
var record = bootbox.confirm("Are you sure you want to delete", 
    function (res) {
        if(res == true)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
});
return false;

然后它不会显示任何反对单击"OK“或"cancel”的操作。

如果我在true部分使用任何简单的警告来检查行为,它将进入true部分,并显示简单的警告并显示单击按钮的必需值,但是如果使用返回true在同一部分,但它不能工作。

代码语言:javascript
复制
var record = bootbox.confirm("Are you sure you want to delete", function (res) {
    if (res == true)
        alert('true');
    else
        alert('false')
}
});
return false;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-28 11:37:40

我找到了解决方案,bootstrap.confirm()在行为上是异步的,所以我们不能阻止它的流,但是我们可以改变我们的逻辑,以便像这样使用它

首先,我们必须停止它的默认行为,然后使用它作为我们的请求。

无论我们想做什么,都要把它放在代码的真正部分下面。

代码语言:javascript
复制
         e.preventDefault();// used to stop its default behaviour 
             bootbox.confirm(Are you sure you want to delete ? , function (confirmed) {
                 if (confirmed == true) {
                  // place here what we want to do
                     __doPostBack('btnDelete', 'OnClick');
                 } 
                  else 
                  {

                   }
             });
票数 2
EN

Stack Overflow用户

发布于 2014-04-29 07:00:19

在您的代码中有一个额外的花括号,只需移除它。

代码语言:javascript
复制
 var record = bootbox.confirm("Are you sure you want to delete", function (res) {
     if (res == true) {
         return true;
     } else {
         return false;
     }
     //}   // invalid closing brace
 });

这可能是您的确认框无法工作的问题之一。

快乐编码:)

票数 0
EN

Stack Overflow用户

发布于 2018-03-05 21:58:46

也许更容易理解..。我们拆分客户端和服务器端事件。确认后,我们触发服务器端单击事件.以防万一你不喜欢

代码语言:javascript
复制
__doPostBack('btnDelete', 'OnClick')

服务器端被省略..。

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<style>
    .hidden{
        display:none;
    }
</style>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="Content/bootstrap.min.css" rel="stylesheet" />
    <script src="Scripts/jquery-3.0.0.min.js"></script>
    <script src="Scripts/bootstrap.min.js"></script>
    <script src="Scripts/bootbox.min.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="btnTest" runat="server" Text="Confirm 1" OnClientClick="return confirmClick(this);" />
            <asp:Button ID="btnReal" runat="server" Text="Actual 1" CssClass="real-button hidden"  OnClick="btnTest_Click" />
        </div>

        <div>
            <asp:Button ID="btnTest2" runat="server" Text="Confirm 2" OnClientClick="return confirmClick(this);" />
            <asp:Button ID="btnReal2" runat="server" Text="Actual 2" CssClass="real-button hidden"  OnClick="btnTest_Click" />
        </div>

        <div>
            <asp:Button ID="btnTest3" runat="server" Text="Confirm 3" OnClientClick="return confirmClick(this);" />
            <asp:Button ID="btnReal3" runat="server" Text="Actual 3" CssClass="real-button hidden"  OnClick="btnTest_Click" />
        </div>

    </form>
</body>
</html>

<script>
    function confirmClick(e) {

        var result = bootbox.confirm({
            message: "This is a confirm with custom button text and color! Do you like it?",
            buttons: {
                confirm: {
                    label: 'Yes',
                    className: 'btn-success'
                },
                cancel: {
                    label: 'No',
                    className: 'btn-danger'
                }
            },
            callback: function (result) {
                var real = $(e).parent().find('.real-button');
                if (result && real)
                {
                    console.log('This was logged in the callback: ' + result + real.val());
                    real.click();
                }
            }
        });

        return true;
    }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23357356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档