【问题标题】:How to avoid confirm window after saved data Jquery?保存数据Jquery后如何避免确认窗口?
【发布时间】:2023-03-20 13:01:02
【问题描述】:

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

当我按下保存按钮时,我希望在按下取消按钮后不会弹出此确认窗口。但是如果我没有保存数据,然后按取消按钮,确认窗口应该会弹出。我自己尝试用布尔值和 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");
                    }
                }
            });
        }

【问题讨论】:

    标签: javascript jquery html css dialog


    【解决方案1】:

    使用布尔值

    // 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();
        }
    }
    

    当你点击取消时,它会显示 pup-up,当你在保存后点击它时,点击保存按钮它会隐藏。

    【讨论】:

    • 很抱歉,它似乎不起作用。这是JSFiddel,我已经实现了代码:jsfiddle.net/AdiT/62QY8/75
    • $('#dialog-confirm').hide();为了知道你隐藏你的对话框。不适用于符合对话框。你也可以把你关闭的对话框事件添加到右上角..“X”这样
    • 但我希望在保存数据后能够在按下取消按钮时关闭窗口。现在我不是,有那部分代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 2021-09-23
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多