我遇到SweetAlert 2的问题,我试图在用户点击Okay时提交表单。
代码如下(使用jQuery)
$('#sa-params').click(function(e) {
e.preventDefault();
e.stopPropagation();
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, cancel!',
confirmButtonClass: 'btn btn-success',
cancelButtonClass: 'btn btn-danger',
buttonsStyling: false
}).then(function () {
swal(
'Deleted!',
'It has been deleted, FOREVER!',
'success'
)
$('form#delete-form').submit();
}, function (dismiss) {
if (dismiss === 'cancel') {
swal(
'Cancelled',
'Relax, nothing has been deleted :)',
'error'
)
}
})
return false;
});
获取以下JavaScript错误:
Uncaught (in promise) RangeError: Maximum call stack size exceeded
主要的是,如果我用console.log('success')
错误替换表单提交,则不会显示。
根据bower.json的说法:
jQuery版本是:2.2.4
SweetAlert2版本是:5.3.8
答案 0 :(得分:1)
$('form#delete-form')[0].submit();
解决我的问题,我不知道为什么我没有尝试过......
答案 1 :(得分:0)
解决方案 在您的文件sweetalert.js
评论:
$targetElement.focus();
或您的文件sweetalert.min.js
b.focus()
可能在413行中。