Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 财产的价值';gatherItemInfo';为null或未定义,不是函数对象_Javascript - Fatal编程技术网

Javascript 财产的价值';gatherItemInfo';为null或未定义,不是函数对象

Javascript 财产的价值';gatherItemInfo';为null或未定义,不是函数对象,javascript,Javascript,我已经研究这个错误大约一个小时了,没有任何进展。我有一个JavaScript函数,它构建了一个包含onclick事件的span元素。但是,当我在IE11中单击span以尝试触发该函数时,我反而得到了上面显示的错误消息。我怀疑这可能是一个范围问题,但可能是错误的 以下是有关的简明部分: function getListItemsGeneric(branchId, listDispName) { $().SPServices({ operation: "GetListItem

我已经研究这个错误大约一个小时了,没有任何进展。我有一个JavaScript函数,它构建了一个包含onclick事件的span元素。但是,当我在IE11中单击span以尝试触发该函数时,我反而得到了上面显示的错误消息。我怀疑这可能是一个范围问题,但可能是错误的

以下是有关的简明部分:

function getListItemsGeneric(branchId, listDispName) {
    $().SPServices({
        operation: "GetListItems",
        async: false,
        listName: listDispName,
        CAMLViewFields: "[FieldNames]",
        completefunc: function (xData, Status) {
            $(xData.responseXML).SPFilterNode("z:row").each(function() {
                [. . . other HTML-building code. . .]
                htmlBuilder += "<div class='editIcon'><span class='ui-icon ui-icon-pencil' onclick=\"gatherItemInfo(" + progId + ", '" + listDispName + "')\"></span></div>";
            });
        }
    });
}

function gatherItemInfo(prog, list) {
    alert("!");
}
函数getListItemsGeneric(branchId,listDispName){ $().SPServices({ 操作:“GetListItems”, async:false, listName:listDispName, CAMLViewFields:“[FieldName]”, completefunc:函数(扩展数据、状态){ $(扩展数据.responseXML).SPFilterNode(“z:row”).each(函数(){ […其他HTML构建代码…] htmlBuilder+=“”; }); } }); } 函数gatherItemInfo(程序,列表){ 警惕(“!”); } 在构建span时,我使用onclick事件调用gatherItemInfo并提供两个变量。单击span应该会导致出现警报,但我会在这篇文章的标题中看到消息getListItemsGenericgatherItemInfo在同一JavaScript文件中处于同一级别;按照我的想法,电话应该能够查看并查看gatherItemInfo,但现在似乎不是这样


值得一提的是,当我在DOM资源管理器中查看span时,它似乎是格式良好的。我缺少什么?

元素的onclick值不知道创建元素的上下文。它正在全局上下文中查找函数
gathereItemInfo
。听起来好像是你在别的地方定义的。您可以通过编程方式指定click处理程序,也可以将函数设置为全局函数。

我还尝试将GathereItemInfo移动到getListItemsGeneric的不同级别,但徒劳地尝试了一些事情,但仍然没有成功。请添加更多标记或解释我们使用CAMLViewFields和SPFilterNode的框架,这样我们就不必查看了。您是否尝试过调试?您是否尝试过将
.toString()
添加到变量
progId
listDispName
?这在类似的情况下也起了作用。只是一个问题。。我认为progIDd中缺少的“”应该是-\“gathereItemInfo(“+progId+”,“+listDispName+”)\”我的想法是一样的,但我在同一个文件中定义了这两个。事实上,我在getListItemsGeneric之后直接定义了gatherItemInfo,它们都处于同一级别--我将修改原始帖子以更好地反映这一点。@AurumPotabile:我的答案是这两个函数对彼此的可见性无关紧要。计算onclick属性,以便在窗口对象中查找函数。这些函数是在窗口上定义的,还是在不同的范围内定义的?在您发布后不久,我就解决了这个问题--这两个函数在$(document)中一起。准备好了,但当我将GathereItemInfo移出$(document)后,getListItemsGeneric就能够找到它。