Javascript 引导盒验证
我正在尝试使用Bootbox创建一个模式。我有模式弹出窗口,请您填写一些数据。然后我尝试进行验证,所以当他们单击save时,它会检查以确保字段已填充 如果验证失败,如何防止在单击“保存”时关闭模式Javascript 引导盒验证,javascript,jquery,bootbox,Javascript,Jquery,Bootbox,我正在尝试使用Bootbox创建一个模式。我有模式弹出窗口,请您填写一些数据。然后我尝试进行验证,所以当他们单击save时,它会检查以确保字段已填充 如果验证失败,如何防止在单击“保存”时关闭模式 bootbox.dialog(header + content, [{ "label": "Save", "class": "btn-primary", "callback": function() { title = $("#title").val();
bootbox.dialog(header + content, [{
"label": "Save",
"class": "btn-primary",
"callback": function() {
title = $("#title").val();
description = $("#description").val();
icon = $("#icon").val();
href = $("#link").val();
newWindow = $("#newWindow").val();
type = $("#type").val();
group = $("#group").val();
if (!title){ $("#titleDiv").attr('class', 'control-group error'); } else {
addMenu(title, description, icon, href, newWindow, type, group);
}
}
}, {
"label": "Cancel",
"class": "btn",
"callback": function() {}
}]);
我认为您可以在“保存”按钮回调中返回false 像这样:
bootbox.dialog(header + content, [{
"label": "Save",
"class": "btn-primary",
"callback": function() {
title = $("#title").val();
description = $("#description").val();
icon = $("#icon").val();
href = $("#link").val();
newWindow = $("#newWindow").val();
type = $("#type").val();
group = $("#group").val();
if (!title){
$("#titleDiv").attr('class', 'control-group error');
return false;
} else {
addMenu(title, description, icon, href, newWindow, type, group);
}
}
}, {
"label": "Cancel",
"class": "btn",
"callback": function() {}
}]);
正如@AjeetMalviya所评论的,@bruchowski发布的解决方案在使用
return false时不会关闭引导框代码>那样。单击“取消”按钮时,回调返回null
,单击“确定”按钮时返回空字符串
<script>
var bb = bootbox.prompt({
title: 'Input Required',
onEscape: true,
buttons: {
confirm: {
label: '<svg><use xlink:href="/icons.svg#check" /></svg> OK'
},
cancel: {
label: '<svg><use xlink:href="/icons.svg#x" /></svg> Cancel',
className: 'btn-secondary'
}
},
inputType: 'password',
callback: function (result) {
//result is null when Cancel is clicked
//empty when OK is clicked
if (result === null) {
return;
} else if (result === '') {
bb.find('.bootbox-input-password').addClass('input-validation-error');
return false;
}
console.log(result);
}
});
bb.init(function () {
//do stuff with the bootbox on startup here
});
</script>
var bb=bootbox.prompt({
标题:“需要输入”,
onEscape:没错,
按钮:{
确认:{
标签:“OK”
},
取消:{
标签:“取消”,
类名:“btn次要”
}
},
输入类型:“密码”,
回调:函数(结果){
//单击“取消”时,结果为空
//单击“确定”时为空
如果(结果===null){
返回;
}否则如果(结果==''){
bb.find('.bootbox输入密码').addClass('input-validation-error');
返回false;
}
控制台日志(结果);
}
});
bb.init(函数(){
//在这里启动时使用引导盒
});
但如果回调返回false,它不会通过单击“取消”按钮关闭模型。请说出你的想法。