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