使用 Sweet Alert(又名 Swal)提交表单

Submitting form using Sweet Alert (aka Swal)

我正在使用 Swal 替换所有 JavaScript 默认警报和内容。 在我的一个页面上有一个表格,我也在使用 Swal 要求用户在执行之前确认他的操作(删除文件)。

问题是我无法使表格正常工作。这是 Swal 代码:

jQuery('.deleteFile').click(function(event){
    event.preventDefault();
    swal({
        title: "You sure about deleting this file?",
        icon: "warning",
        buttons: {
            cancel: "hmm let me think this through",
            confirm: "100% sure !",
        },
        dangerMode: true,
    })
    .then((willDelete) => {
        if (willDelete) {
            $('#form1').submit();
        } else {
            return false;
        }
    });
});

这是我的提交按钮:

<button type="submit" name="delete_file" class="btn btn-danger deleteFile">Delete</button>

这里有几件事要提:

但是没有回显(QQ)

不用说delete_file就是我提交按钮的name属性

Needless to say that delete_file is the name attribute of my submit button.

嗯,这就是问题所在。提交按钮的名称只有在您单击该按钮时才会提交。如果您使用 JavaScript 提交表单,则不会提交提交按钮名称和值。

为了防止这种情况发生,您可以不在提交按钮中使用 name/value,而是像这样将它们添加到隐藏输入中:

<input type="hidden" name="delete_file" value="Delete">

或者您可以检查是否设置了另一个字段,例如您要删除的文件的 ID。