提交表单前如何显示甜言蜜语?

时间:2019-11-19 15:53:19

标签: javascript jquery sweetalert

我在使用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");
});

2 个答案:

答案 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”作为参数。