在ajax调用之后显式释放sweetalert popup

时间:2017-11-04 02:02:17

标签: javascript sweetalert sweetalert2

我正在使用sweetalert向用户询问输入以重命名标记。然后我进行ajax调用以更改服务器上的标记。如果成功,我会调用一个小的回调函数(postAction),它将更新UI并在UI上重命名该标记。只要小回调函数有一个语句“swal(”done!“);”,所以用户点击这个小确认消息框,并释放sweetalert消息框,它工作正常。我正在尝试查看是否有一个函数我可以调用以释放输入sweetalert弹出而没有额外的“swal(”done“)语句,因此用户将减少1次点击。是否有捷径可寻? 我现在可以找到的是在第二个弹出窗口中添加一个计时器。 swal(“Done!”,{timer:500});没关系但不理想。

renameTag = function(tagId)
{
    swal({
        title: "Rename Gallery Tag",
        text: 'Please provide a new tag name',
        content: "input",
        button: {
            text: "OK",
            closeModal: false,
        },
    })
    .then(name => {
        var tagName = name.trim();
        if (tagName.length == 0)
        {
            swal({
                title: "Rename Gallery Tag Failed",
                text: "Tag name cannot be empty",
                icon: "error",
                button: "OK",
            });
            return;
        }
        else
        {
            ajaxAction("POST"
                    , "/User/RenameGalleryTag"
                    , { 'index': tagId, 'name': tagName }
                    , "rename gallery tag"
                    , {
                        'reload': false
                        , postAction: function () {
                            $(".selected-tag").text(tagName);
                            swal("done!");
                        }
                    });
        }
    })
}

1 个答案:

答案 0 :(得分:1)

你应该能够像这样关闭它

swal.close()