我有以下函数显示模态:
confirmModal: function (message) {
// CODE TO SHOW MODAL HAS BEEN REMOVED FOR THIS QUESTION //
}
因为它已被命名空间,所以它被称为:uiModal.confirmModal('Test message');
在模态中我有两个按钮:
<button class="cancel">Cancel</button>
<button class="ok">Ok</button>
现在我想做的是两件事:
当我执行以下操作:onsubmit="confirm('Are you sure?');"
或onclick="confirm('Are you sure?');"
时,它会显示模式而不是警告框。请注意,它需要适用于链接和表单提交。
模态中的两个按钮需要取消或允许请求发生。我已经取消了关闭模式罚款,所以这只是允许或拒绝请求发生的情况。
有人可以帮忙吗?我在这里看了一些其他的问题,看过有关使用window.location($(this).attr('href'))
的内容,但这只适用于链接,而不适用于提交表单。
我也看过做window.confirm = uiModal.confirmModal('message');但是我如何在我的onclick或onsubmit
示例中使用它由于
答案 0 :(得分:1)
这不起作用,因为confirm
是一个阻止调用(当框打开时javascript不会继续),而你的模态对话框不是。
您可以通过执行以下操作来解决此问题:
// have some temp var that holds confirmation state
var isConfirmed = false;
$("form").submit(function () {
// when someone tries to submit the form, verify whether it's confirmed
if (!isConfirmed) {
// show modal dialog
// prevent direct submit
return false;
}
});
// when hitting the OK button in the modal, change the confirmation state
$(".modal .ok").click(function () {
isConfirmed = true;
// and re-submit the form
$("form").submit();
});