甜蜜警报表格 提交确认书 没有提交表格



我使用Sweet Alert来确认删除记录的意图,代码如下。我收到"甜蜜警报"弹出窗口,单击"确定"…但表单从未提交。我得到了警告('ok((在代码中注释掉了(,但form.submit((什么都不做。我在网上寻找了一个解决方案,但我大多找到了form.submit((作为答案。有办法让它发挥作用吗?

<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<form method="post" action=""   onsubmit="return submitForm(this);">
<input type="hidden" name="delete_data" value="10"> 
<input type="submit"  name="submit-survey" id="submit" value="Clear Data"> 
</form> 
<script>
function submitForm(form) {
new swal({
title: "Are you sure?",
text: "This will clear the data",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then(function (isOkay) {
if (isOkay) {
//alert('ok')
//return true;
form.submit();
}
});
return false;
}
</script>

这是我发现的唯一可行的方法。。它需要两个表格,因为它看起来你不能用一个表格来完成。

$(function(){

$("#from1").submit(function(e){
event.preventDefault();
let flag = $('#from1').attr('data-flag');
if(flag == 0){
Swal.fire({
title: 'Are you sure?',
text: "Do you want to clear out the submissions?",
type: "warning",
showCancelButton: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: 'Yes, I am sure!',
cancelButtonText: "No, cancel it!",
closeOnConfirm: false,
closeOnCancel: false
}).then((result) => {
if (result.isConfirmed) {
$('#from1').attr('data-flag', '1');
$('#from2').submit();
} else {
Swal.fire("Cancelled", "Submission clearance cancelled", "error");
}
})
}
});

然后两者形成

<form id="from2" action="" method="POST">
<input type="hidden" name="clear_subs">
</form>

<form id="from1" data-flag="0" action="" method="POST">
Clear Submissions  <input type="submit" id="checkbox" >
</form>

我认为问题是你有一个onsubmit="submitForm(this);"操作,但后来你调用了form.submit(),所以它可能每次都重复相同的操作。用那些CCD_ 3行检查控制台应该通过点击";是的,我确信"按钮多次。

与其将两者混合,我建议在点击按钮时触发一些东西,使swal弹出,然后如果结果得到确认,则从那里调用form.submit()

最新更新