JavaScript错误说“确认不是函数”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript错误说“确认不是函数”相关的知识,希望对你有一定的参考价值。

我在提交表单时使用jQuery和验证插件:

$('.frmProject:visible').validate( {

    errorContainer: ".site_details:visible .messageBox1",
    errorLabelContainer: ".site_details:visible .messageBox1 span.messagehere",
    invalidHandler: function(form, validator) {
    },

    rules: {
        site_id: {
            required: true,
        }
    },
    messages: {
        site_id: "Project has no assigned site information. Click the marker on the map at left to specify the site where this project took place."
    },
    submitHandler: function(data) {
        SaveProject();
    }

});

在submitHandler中,

function SaveProject(){
    //... load variables with input contents
    $.ajax({
        url: 'ajax/save_project.php',
        dataType: 'json',
        data: 'id='+id+'&title='+title+'&project='+project+'&sector='+sector+'&volunteer='+volunteer+'&lat='+lat+'&lng='+lng+'&name='+name+'&mun='+mun+'&prov='+prov,
        success: function(data) {
            //... load 'messages' object with stuff
            $.each(messages, function(key, value) {
                if (confirm(key)){
                    console.log(item);
                }
            });
        }
    });
}

当我提交经过验证的表单并在每个循环中进入确认时,我收到错误消息:“确认不是函数”。

如何向用户显示消息以进行确认?

编辑:

当我在控制台中键入“确认”时,我得到了这个:

检查DOM显示:

window> confirm()此对象没有要显示的属性。

在Script中检查将我带到了jquery-1.6.2.min.js中的一个位置

答案

如果指定不带var的变量,则将该变量分配给全局空间。在您的情况下,有一个分配给confirm变量的字符串覆盖了本机确认方法。

另一答案

confirm方法是window对象的一部分。

if (window.confirm(key)){
    console.log(item);
}
另一答案

我使用'jquery confirm'和'datatables',在我的例子中,'datatables'应该在'jquery confirm'之前导入。

所以,在某些情况下,尝试ReOrder ........

以上是关于JavaScript错误说“确认不是函数”的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个代码片段说包含错误?

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

30秒就能看懂的JavaScript 代码片段

48个值得掌握的JavaScript代码片段(上)

如何将此 JavaScript 代码片段翻译成 Parenscript?