Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery自定义确认框允许/阻止cought事件_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

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
的表单。