javascript - 保存数据Jquery后如何避免确认窗口?

标签 javascript jquery html css dialog

当我将卡片添加到收件箱时。然后可以双击卡片,弹出对话框。 在对话框中,我有两个按钮(保存)和(取消)。当我按下取消按钮时,会弹出一个确认窗口。

我希望当我按下保存按钮时,按下取消按钮后,这个确认窗口不应该弹出。但是如果我没有保存数据,然后按下取消按钮,确认窗口应该会弹出。我自己尝试用 bool 值和 if 语句修复它,但没有成功。

我有一个 Demo

 // Double click to open Modal Dialog Window
    $('#userAddedCard').dblclick(function (e) {
        $currentTarget = $(e.target);

        $('#modalDialog').dialog({
            modal: true,
            height: 600,
            width: 500,
            position: 'center',
            buttons: {
                Save: function () { //submit

                    save(true);

                },
                Cancel: function () { //cancel

                        cancel(true);

                }

            }
        });

    });

    function save() {

            var val = $("#customTextBox").val();
            $currentTarget.find(".ctb").val(val);
            $currentTarget.find(".date").val($("#datepicker").val());           

        }

    function cancel() {

            $('#dialog-confirm').dialog({
                resizable: false,
                height: 300,
                modal: true,
                draggable: false,
                buttons: {
                    YES: function () {
                        $(this).dialog("close");
                        $('#modalDialog').dialog("close");
                    },
                    Cancel: function () {
                        $(this).dialog("close");
                    }
                }
            });
        }

最佳答案

使用 bool 值

// Double click to open Modal Dialog Window
$('#userAddedCard').dblclick(function (e) {
    $currentTarget = $(e.target);

    $('#modalDialog').dialog({
        modal: true,
        height: 600,
        width: 500,
        position: 'center',
        buttons: {
            Save: function () { //submit

                save(true);

            },
            Cancel: function () { //cancel

                    cancel(true);

            }

        }
    });

});
 var boolean = false;
function save() {

        var val = $("#customTextBox").val();
        $currentTarget.find(".ctb").val(val);
        $currentTarget.find(".date").val($("#datepicker").val());         
        boolean = true;  

    }

function cancel() {

    if(!boolean){
        $('#dialog-confirm').dialog({
            resizable: false,
            height: 300,
            modal: true,
            draggable: false,
            buttons: {
                YES: function () {
                    $(this).dialog("close");
                    $('#modalDialog').dialog("close");
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });

    }
    else{
        $('#dialog-confirm').hide();
    }
}

当您点击取消时它会显示弹出窗口,当您在保存后点击它时点击保存按钮它会隐藏。

关于javascript - 保存数据Jquery后如何避免确认窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814054/

相关文章:

javascript - 在 Javascript 中评估 Latex 数学

javascript - 对 Django 数据库值 : views. py、模板或 Javascript 执行计算?

javascript - iframe 内容最大滚动高度和跨浏览器中的滚动顶部?

jquery - 提交后保留选择的值

javascript - 尽管未显式调用事件处理程序,但为什么会触发 eventemitter

php - 从 PHP 调用 Ajax 来执行单独的 PHP;有什么危险吗?

javascript - 在浏览器中,Chrome 方法 POST 与 GET 类似

jQuery Cycle - 同步随机化多个元素

html - <ul> 上的 tabindex ="-1"不起作用

javascript - 如何扩展图像高度以适合我的整个屏幕?