javascript - JQuery swal 确认不提交

标签 javascript jquery sweetalert

我正在尝试使用sweet alert创建确认。当用户单击按钮时,swal (警报)窗口打开,他们可以确认或取消。如果confirm单击,然后 JQuery应该点击它。

但它没有做任何事情。你知道问题出在哪里吗?

我尝试了多种选项 - unbind.click()等等..

$('.button-apply').on('click', function (e) {
        var t = $(this);
        e.preventDefault();
        swal({
            title: "Are you sure?",
            text: "Do you want to apply for this job?",
            type: "info",
            showCancelButton: true,
            confirmButtonColor: "#b3ff99",
            confirmButtonText: "Confirm",
            //closeOnConfirm: false,
            //showLoaderOnConfirm: true,
            html: false
        }, function (isConfirm) {
            if (!isConfirm) {
                return;
            } else {
                t.click();
            }
        })

    })

编辑: 已更改} else { t.click(); }

} else {
                t.unbind('click');
                t.trigger('click');
            }

成功解除绑定(bind),但是t.trigger('click')不执行。

已解决:

因为它是 <a href....> ,我做不到t.submit()当它解除绑定(bind)时,我替换了 t.click()window.location.href = t.attr('href');并且它工作正常。

最佳答案

您已指定e.preventDefault();这将阻止 button-apply 上的事件触发。删除这一行,点击事件就会回来。

作为附加说明,当用户按下“取消”时,您会再次触发相同的事件,这将导致无限循环。您应该删除 t.click(); 并放置您想要在用户执行此操作时调用的逻辑。

举个例子:

$('.button-apply').on('click', function (e) {
        var t = $(this);
        swal({
            title: "Are you sure?",
            text: "Do you want to apply for this job?",
            type: "info",
            showCancelButton: true,
            confirmButtonColor: "#b3ff99",
            confirmButtonText: "Confirm",
            //closeOnConfirm: false,
            //showLoaderOnConfirm: true,
            html: false
        }, function (isConfirm) {
            if (!isConfirm) {
                alert('You have not applied for the job!');
            } else {
                alert('You have applied for the job');
                // Submit form $("#yourForm").submit();
                // or an AJAX call.
            }
        })

    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>


<button class="button-apply">Click me</button>

关于javascript - JQuery swal 确认不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940908/

相关文章:

javascript - Html 打印为 PDF - 如果表格在第二页上拆分,则不应用 Css

javascript - 如何从纯 JavaScript 数组创建 kotlin.collections.Set?

javascript - 如何获取 webkit-column-count 值和当前页面或列 ID?

javascript - 如何使用 yyyymmdd 格式向日期添加 n 天但排除星期日?

javascript - 为键和值对构建一个 JSON 结构,其中每个项的键都会发生变化?

javascript - 等待 SweetAlert 响应

javascript - 在 PhantomJS 中使用 jQuery 设置时,WebApp 无法识别输入字段已更改

javascript - 三个js : Make a panorama interactive with hotspots

javascript - 如何在纯javascript中切换 Font Awesome 图标

javascript - 当 React 已经渲染时无法刷新更新