Javascript jQuery自定义确认框允许/阻止cought事件
我有一个类似于删除表单的东西,需要在模式确认框中按“是-删除”。基本上是这样的Javascript jQuery自定义确认框允许/阻止cought事件,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我有一个类似于删除表单的东西,需要在模式确认框中按“是-删除”。基本上是这样的 $('#my-form').on('submit', function(e) { var r = confirm("Really Delete?"); if (r != true) { e.preventDefault(); } }); 因此,这是工作,但我不希望丑陋的浏览器确认框。我想用我自己的对话 我的问题基本上是confirm方法停止了脚本的执行,因此如果没有按下任何键,我不需要调用pr
$('#my-form').on('submit', function(e) {
var r = confirm("Really Delete?");
if (r != true) {
e.preventDefault();
}
});
因此,这是工作,但我不希望丑陋的浏览器确认框。我想用我自己的对话
我的问题基本上是confirm方法停止了脚本的执行,因此如果没有按下任何键,我不需要调用preventDefault
有什么好的解决方案/最佳实践吗?您可以使用,如果用户确认您可以调用ajax:
$('.ajax-form').on('submit', function(e) {
e.preventDefault();
var self = $(this);
$(".confirm").confirm({
text: self.data('confirmation'),
title: "Confirmation required",
confirm: function(button) {
$.ajax({
method: self.attr('method') || 'GET',
url: self.attr('action'),
data: self.serialize(),
success: function() {
// deleted
}
});
}
});
});
您可以使用如下html:
<form action="/delete" method="POST" data-confirmation="Really Delete?">
</form>
使用回扣或承诺;在中间不能暂停脚本。是否有一种方法动态捕捉捕获的事件并在确认之后重新运行它,而不必再次打开对话框。我想以多种形式使用它,因此需要一个通用的解决方案既然你在使用jquery,为什么不尝试一下呢。@FrankProvost没有,但是你可以将它分成不同的函数来解决它。(顺便说一句,如果(!r){e.preventDefault()},你可以做
这需要我为我想要使用的每一种不同的表单编写代码,对吗?我基本上想构建一些更通用的东西,例如,对于每一个附加了类“ajax form”的表单都有效@FrankProvost查看我的更新答案,它应该适用于每一个具有类ajax form
的表单。