Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:初始化前无法在对话框上调用方法;试图调用方法';关闭';_Javascript_Jquery_Ajax_Function - Fatal编程技术网

Javascript 错误:初始化前无法在对话框上调用方法;试图调用方法';关闭';

Javascript 错误:初始化前无法在对话框上调用方法;试图调用方法';关闭';,javascript,jquery,ajax,function,Javascript,Jquery,Ajax,Function,不断获取调用方法错误,不确定还要尝试什么。我在另一个程序中使用了它,但在ajax函数中没有。我试过在“close”(接近)和“close”(接近)中接近,但还是没有运气。当用户在对话框模式外单击时,尝试使其关闭当前打开模式 function viewForm(record_id) { $.ajax({ type: "POST", url: "/info_notifications/fetch_pending_changes", data:

不断获取调用方法错误,不确定还要尝试什么。我在另一个程序中使用了它,但在ajax函数中没有。我试过在“close”(接近)和“close”(接近)中接近,但还是没有运气。当用户在对话框模式外单击时,尝试使其关闭当前打开模式

function viewForm(record_id) {
    $.ajax({
        type: "POST",
        url: "/info_notifications/fetch_pending_changes",
        data: "_unique_id=" + record_id,
        success: function (msg) {
            document.getElementById('dialog').innerHTML = msg;
            var closedialog;
        function overlayclickclose() {
            if (closedialog) {
                $('#dialog').dialog('close'); //<--this is the method its attempting to call
            }

            //set to one because click on dialog box sets to zero 
            closedialog = 1;
        }
        $('#open').click(function () {
            $('#dialog').dialog("open");
            closedialog = 0;
        });

        $("#dialog").dialog({
            resizable: true,

            width: 'auto',
            height: 'auto',
            open: function () {
                closedialog = 1;
                $(document).bind('click', overlayclickclose);
            },
            focus: function () {
                closedialog = 0;
            },
            close: function () {
                $(document).unbind('click');
            },
            closeText: "Close",
            buttons: {
                "Update": function () {
                    $.ajax({
                        type: "POST",
                        url: "/info_notifications/update_notification",
                        data: "_unique_id=" + record_id,
                        success: function (msg) {
                            $(document).ajaxStop(function () {
                                location.reload(true);
                            });
                        }
                    });
                },
                "Approve": function () {
                    $.ajax({
                        type: "POST",
                        url: "/info_notifications/approve_request",
                        data: "_unique_id=" + record_id + "&status=approve",
                        success: function (msg) {
                            $(document).ajaxStop(function () {
                                location.reload(true);
                            });
                        }
                    });
                },
                "Deny": function () {
                    $.ajax({
                        type: "POST",
                        url: "/info_notifications/approve_request",
                        data: "_unique_id=" + record_id + "&status=deny",
                        success: function (msg) {
                            $(document).ajaxStop(function () {
                                location.reload(true);
                            });
                        }
                    });
                },
                "Cancel": function () {
                    click: $(this).dialog("close");
                }
            },
            close: function () {
                $(document).unbind('click');
            }
        });

    }

});
var closedialog;

function overlayclickclose() {
    if (closedialog) {
        $('#dialog').dialog('close'); //<--this is the method its attempting to call
    }

    //set to one because click on dialog box sets to zero 
    closedialog = 1;
}
}
函数视图表单(记录id){
$.ajax({
类型:“POST”,
url:“/info\u通知/fetch\u挂起的更改”,
数据:“\u unique\u id=“+记录\u id,
成功:功能(msg){
document.getElementById('dialog')。innerHTML=msg;
关闭对话框;
函数overcyclickclose(){
如果(关闭对话框){

$(“#dialog”).dialog('close');//请修复缩进。您试图在初始化对话框之前关闭它。修复您的逻辑。将关闭逻辑放在末尾我仍然会遇到相同的错误,除非您将代码的编辑版本放在此处。除非这不是您的意思。为什么需要
overcyclickclose()
?为什么不能在需要关闭对话框时使用
$('#dialog')。dialog('close');
?定义函数的位置并不重要。重要的是,在初始化对话框之前,您正在以某种方式执行函数。