我甜蜜的 alert2 按钮都在提交删除表单

如何解决我甜蜜的 alert2 按钮都在提交删除表单

让我先声明我不理解 javascript 和 ajax 因此,我尝试遵循几个代码,以便在确认删除预订之前弹出警报,但即使我按取消,预订也会被删除,甚至当我按随机位置提交表单时,由于我不太明白代码我无法检测到问题有人可以告诉我我应该修复什么

这是我的js代码

    <!-- SweetAlert2 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.2.0/sweetalert2.all.min.js"></script>

    <script>
    function confirmDelete(item_id) {
        swal({
            title: "Attention!",text: "Êtes-vous sûr de vouloir annuler votre réservation?",type: "warning",buttons: true,showCancelButton: !0,confirmButtonColor: '#FFC61A',confirmButtonText: "Oui!",cancelButtonText: "Annuler",dangerMode: true,reverseButtons: !0
        })
            .then((willDelete) => {
                if (willDelete) {
                    $('#delete-company').submit();

                }else {
                    swal("Cancelled Successfully");
                }
            });
    }

这是我的按钮和表单

    <td>
                                <form id="delete-company" action="{{ url('reservations/'.$r->id) }}" method="post">
                                    {{csrf_field()}}
                                    {{method_field('delete')}}
                                    <button type="button" class="btn  btn-black-bordered btn-xs" onclick="confirmDelete('delete-company')"><i class="fa fa-trash"></i></button>
                                </form>
                                
                            </td>

和我的控制器

    public function destroy(Reservation $reservation)
{
    try {
        Reservation::where('id',$reservation->id)->delete();
        
        Alert::success('Succès','La réservation a été annulée avec succès')->autoClose(false);
        return back();
        
    } catch (Exception $e) {
        return back()->withError('Une erreur est survenue,veuillez réessayer ultérieurement')->withinput();    
    }
}
    

尝试一些建议后更新我的代码

   <form id="{{'delete-company-'.$r->id}}" action="{{ url('reservations/'.$r->id) }}" method="post">
                                    {{csrf_field()}}
                                    {{method_field('delete')}}
                                </form>
                                 <button type="button" class="btn btn-black-bordered btn-xs" onclick="confirmDelete('{{$r->id}}')">
                                    <i class="fa fa-trash"></i>
                                 </button>

这是我的新脚本

    <script>
    function confirmDelete(item_id) {
        swal({
            title: "Attention!",reverseButtons: !0
        })
            .then((willDelete) => {
                if (willDelete) {
                    $('#delete-company-'+item_id).submit();
              

                }else {
                    swal("Cancelled Successfully");
                }
            });
    }
    </script>

仍然,

the list of reservations

该框正在显示,但我仍然提交表单的地方

sweet alert box

解决方法

在提交过程中出现警告时,我通常将触发按钮移到表单外。通常我什至没有表格。我使用按钮来触发 SWAL。 SWAL问我要不要做点什么,然后我用ajax把数据推送到服务器。

如果您想提交表单而不使用ajax,我建议您将按钮移到表单外,然后按照您的问题使用JS提交。

在没有表单的情况下进行(删除表单,只需获取 ID)可能是最干净的:

 function confirmDelete(item_id) {
    swal({
        title: "Attention!",text: "Êtes-vous sûr de vouloir annuler votre réservation?",type: "warning",buttons: true,showCancelButton: !0,confirmButtonColor: '#FFC61A',confirmButtonText: "Oui!",cancelButtonText: "Annuler",dangerMode: true,reverseButtons: !0
    })
        .then((willDelete) => {
            if (willDelete) {
                // AJAX here - push the id to your delete method

            }else {
                swal("Cancelled Successfully");
            }
        });
}

此外 - 您不会显示这是否是一个循环表单,但如果您循环使用,请注意不要一遍又一遍地使用相同的表单 ID/名称。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?