JQuery swal确认没有提交

时间:2016-08-14 09:34:23

标签: 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');
            }

成功取消绑定,但t.trigger('click')未执行。

解决:

由于它是<a href....>,因此我无法t.submit()取消绑定,因此我已将t.click()替换为window.location.href = t.attr('href');它正常工作。

1 个答案:

答案 0 :(得分:0)

您已指定e.preventDefault();,以防止button-apply上的事件被触发。删除此行,然后点击事件将返回。

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

举个例子:

&#13;
&#13;
$('.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.
            }
        })

    })
&#13;
<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>
&#13;
&#13;
&#13;