我在使用sweetalert时遇到麻烦,我希望它在sweetalert中弹出一条消息,告诉用户车辆已插入,并且当他单击“确定”按钮时,它应该提交表单。 我有此代码,但对我不起作用,任何人都可以帮忙吗?
<script>
$(document).ready(function () {
$("form").submit(function (event) {
e.preventDefault();
var form = $(this);
Swal.fire({
icon: 'success',
title: 'Registado',
text: 'O seu veiculo foi registado!'
}, function () {
$(this).trigger('sumbit');
});
});
});
</script>
正在处理表单,但未显示任何消息。
Edit1:现在显示甜味剂,但是提交没有进行。这段代码有效,但是它具有JS警报-
$("form").submit(function(){
alert("Submitted");
});
答案 0 :(得分:4)
我立即注意到的事情:
event
,但尝试呼叫e.preventDafault()
。$(this).trigger('sumbit');
错字。更新了以下代码段中的那些问题。
$(document).ready(function () {
var shownPopup = false;
$("form").submit(function (event) {
if (shownPopup === false) {
event.preventDefault();
shownPopup = true;
var form = $(this);
Swal.fire({
icon: 'success',
title: 'Registado',
text: 'O seu veiculo foi registado!'
}, function () {
form.trigger('submit');
});
}
});
});
这是使用诺言的解决方案,如https://sweetalert2.github.io/文档中所实现:
$(document).ready(function () {
var shownPopup = false;
$("form").submit(function (event) {
if (shownPopup === false) {
event.preventDefault();
shownPopup = true;
var form = $(this);
Swal.fire({
icon: 'success',
title: 'Registado',
text: 'O seu veiculo foi registado!'
}).then(function() {
form.trigger('submit');
});
}
});
});
答案 1 :(得分:0)
您的preventDefault似乎不起作用,因为您有e.preventDefault();。而不是event.preventDefault(); 知道您的函数将“事件”而不是“ e”作为参数。