Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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 sweet警报确认后未提交表单_Javascript_Php_Html_Jquery - Fatal编程技术网

Javascript sweet警报确认后未提交表单

Javascript sweet警报确认后未提交表单,javascript,php,html,jquery,Javascript,Php,Html,Jquery,我有一个包含一些数据行的表,每行都有删除按钮 如果我用代码实现了sweetalert2,我的表单不会提交,我需要的是,我只需要在sweet alert确认按钮后删除我的行。 这是我的密码 ... 从代码中可以明显看出,您已经使用jQuery执行表单提交 根据文档,方法.submit()只能用于表单 当用户试图提交表单时,提交事件将发送到元素。它只能附加到元素 表单可以通过单击显式的或来提交,也可以通过 当某些表单元素具有焦点时按Enter 可以看出,您还依赖于其他一些功能Swal.fire

我有一个包含一些数据行的表,每行都有删除按钮

如果我用代码实现了sweetalert2,我的表单不会提交,我需要的是,我只需要在sweet alert确认按钮后删除我的行。 这是我的密码


... 

从代码中可以明显看出,您已经使用jQuery执行表单提交

根据文档,方法
.submit()
只能用于
表单

当用户试图提交表单时,提交事件将发送到元素。它只能附加到
元素

表单可以通过单击显式的或来提交,也可以通过 当某些表单元素具有焦点时按Enter

可以看出,您还依赖于其他一些功能
Swal.fire(..)
,因此,您必须执行
event.preventDefault()
,否则,表单将自动提交而不会遇到麻烦。但您需要这部分功能是可以理解的

因此,要解决您的问题,您需要在表单中添加某种标识符,例如
id
。因此,与其这样做,不如:

<form method="post">

正如来自@Tangoabc Delta的评论,您只需在表单上使用.submit()事件即可,因此:

  • 首先,为您的表单提供一个id:

    <form method="post" id="swaForm">
    
    
    
  • 然后使用如下脚本:

     <script>
          $(".swa-confirm").on("click", function(e) {
    
                  e.preventDefault(); 
    
                  Swal.fire({
                      title: "Are you Sure ?",
                      text:"You want to Delete the selected Category",
                      type: "warning",
                      showCancelButton: true,
                      confirmButtonColor: "#cc3f44",
                      confirmButtonText: "Delete",
                      closeOnConfirm: true,
                      html: false
                  }).then(function() {
                         $('#swaForm').submit();
                      })
                  });
          </script>
    
    
    $(“.swa confirm”)。单击(“click”,函数(e){
    e、 预防默认值();
    喷火({
    标题:“你确定吗?”,
    文本:“您要删除所选类别”,
    键入:“警告”,
    showCancelButton:true,
    confirmButtonColor:“#cc3f44”,
    confirmButtonText:“删除”,
    closeOnConfirm:true,
    html:false
    }).然后(函数(){
    $('#swaForm')。提交();
    })
    });
    

不熟悉sweetalert,但看起来您需要对php代码进行ajax调用,以便在单击时连接删除函数。我已经尝试了您的代码,但它没有提交……不知道为什么需要提供表单信息,如HTML或php代码快照,以便更好地理解。请尝试以下三种方法:1。尝试删除
preventDefault
(在这种情况下,您不需要此submit()`2。尝试在回调之外调用
submit()
preventDefault
可以保留)3.设置一个调试点,看看
Swal
API的回调是否可以访问。我认为
Swal
中存在一些错误,阻止了它的发生。
<form method="post" id="swaForm">
 <script>
      $(".swa-confirm").on("click", function(e) {

              e.preventDefault(); 

              Swal.fire({
                  title: "Are you Sure ?",
                  text:"You want to Delete the selected Category",
                  type: "warning",
                  showCancelButton: true,
                  confirmButtonColor: "#cc3f44",
                  confirmButtonText: "Delete",
                  closeOnConfirm: true,
                  html: false
              }).then(function() {
                     $('#swaForm').submit();
                  })
              });
      </script>