,bootbox.confirm()有什么问题?,这是我的代码:
var record = bootbox.confirm("Are you sure you want to delete", function (res) {
if (res == true) {
return true;
} else {
return false;
}
}
});它不会等待确认,默认情况下返回true。如果使用的是在结尾返回false来阻止它消失
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在同一部分,但它不能工作。
var record = bootbox.confirm("Are you sure you want to delete", function (res) {
if (res == true)
alert('true');
else
alert('false')
}
});
return false;发布于 2014-05-28 11:37:40
我找到了解决方案,bootstrap.confirm()在行为上是异步的,所以我们不能阻止它的流,但是我们可以改变我们的逻辑,以便像这样使用它
首先,我们必须停止它的默认行为,然后使用它作为我们的请求。
无论我们想做什么,都要把它放在代码的真正部分下面。
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
{
}
});发布于 2014-04-29 07:00:19
在您的代码中有一个额外的花括号,只需移除它。
var record = bootbox.confirm("Are you sure you want to delete", function (res) {
if (res == true) {
return true;
} else {
return false;
}
//} // invalid closing brace
});这可能是您的确认框无法工作的问题之一。
快乐编码:)
发布于 2018-03-05 21:58:46
也许更容易理解..。我们拆分客户端和服务器端事件。确认后,我们触发服务器端单击事件.以防万一你不喜欢
__doPostBack('btnDelete', 'OnClick')服务器端被省略..。
<%@ 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>https://stackoverflow.com/questions/23357356
复制相似问题