等待来自Javascript模态的“返回值”
Wait for "return value" from Javascript modal
好吧,我绝不是JavaScript大师,也许我还在考虑桌面软件开发,但这就是我想要实现的目标:
- 我正在使用Twitter Bootstrap的模态
- 在某些情况下,在采取行动之前,我想用"你确定吗?(是/否)模式对话框。
问题:
- 内在逻辑应该是什么?
我的意思是:
- 用户单击按钮 A(最终执行操作 A)
- 我想启动模态,等待输入(2 个按钮中的任何一个 - 是/否)和/或在执行(或不执行)操作之前将其传递给某个检查例程A
这是我的模态HTML代码(按钮是否应该 - 以某种方式 - 通过其onclick
javascript例程起作用?) - 还要注意#confirmMessage
将是可变的。
<div class="modal fade hide" id="confirmAlert">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">x</button>
<h3 id="confirmTitle">Are you sure?</h3>
</div>
<div class="modal-body">
<p id="confirmMessage">Body</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Cancel</a>
<a href="#" class="btn btn-danger">Yes</a>
</div>
</div>
只是一个想法:
- 编写一个类似于
checkBeforeExec(message,functionToExec)
的函数
将 #confirmMessage
设置为消息,将"是"的 href 设置为javascript:functionToExec
- 意义?
我知道这听起来可能有点令人困惑 - 但我根本不知道最友好的 javascript 方法是什么......
我围绕模态创建了一个对话框管理器,其中包含confirm
辅助函数,该函数基本上是执行以下操作的:
var callback = function(result) {
alert(result);
}); // define your callback somewhere
$('#confirmAlert').on('click', '.btn, .close', function() {
$(this).addClass('modal-result'); // mark which button was clicked
}).on('hidden', function() {
var result = $(this).find('.modal-result').filter('.btn-danger').length > 0; // attempt to filter by what you consider the "YES" button; if it was clicked, result should be true.
callback(result); // invoke the callback with result
});
此外,您应该同时将"取消"和"是"按钮data-dismiss="modal"
。
这是一个小提琴,带有我的对话框管理器的简单示例。
请注意,如果您使用的是 Bootstrap 3,则应向 hidden.bs.modal
事件添加处理程序,而不是 hidden
。
使用 jquery,您可以使用类似的东西
$('.btn').click(function(){
val=$(this).val()
if(val=='Yes'){
//continue the processing
}
})
现在已经很晚了,但我们有一个可以实现结果的库。 https://sweetalert2.github.io/
Sweetalert将轻松执行这些操作。
相关文章:
- Angular js - 异步调用 $scope.users 后不更新模态值
- 等待来自Javascript模态的“返回值”
- 从 Angular 模态服务中的模态主体模板返回数据
- 如何传递和获取模态值
- jquery模态对话框通过id获取输入类型text的值
- 获取表单值并在提交时将其传递给Bootstrap模态
- ui引导Angular模态解析和Scope值
- 如何将剃刀视图模态属性值传递给javascript函数
- 基础揭示模态:关闭模态后如何返回父模态
- Bootstrap 模态填充了相同的单个值 - Meteor+React
- Javascript,在关闭时从模态中删除值
- 在 JSP 中设置一个值,从 javascript 传递给 JSTL 的模态
- AngularJS模态不't将创建的值返回给数组
- 使用angular js控制器来检查cookie并返回一个模态
- 模态对话框返回值未定义-将结果发送到父窗口
- 如果出现错误,返回到模态
- 如果有条件,在JsonResult中返回一个模态确认框
- jQuery iFrame模态返回值
- 返回作为模态的视图
- 如何通过JSON获取数组,以及如何将此返回值设置为模态形式