我有以下几行代码:
select: function( event, ui ) {
var searchLink = aToolLinks[ui.item.tool];
var params = "";
if (ui.item.id && ui.item.id != "") {
if (ui.item.tool == "FUN") {
params = "ID_INSTRUMENT=" + ui.item.id;
} else {
params = "ID_NOTATION=" + ui.item.id;
}
} else if (ui.item.isin && ui.item.isin != "") {
params = "isin=" + ui.item.isin;
}
if (ui.item.tool && ui.item.tool == "NEW") {
params = "searchString=" + ui.item.term;
}
if (params != "") {
console.log("URL " + searchLink+"&"+params);
window.location.href = searchLink+"&"+params;
在Internet Explorer 8中,我收到错误消息: item.tool为NULL或不是对象
有人知道我怎么解决?
谢谢!
答案 0 :(得分:0)
这不是解决方案,而是提示并尝试解决您的问题
Start Internet Explorer then:
1. Press the F12 key (Tools, Developer Tools)
2. Hold Down the key "Ctrl" then "R" (Cache, Clear Browser Cache)
答案 1 :(得分:0)
当我的列表有一个尾随逗号时,我看到了这个问题。我认为IE8会对它们产生影响。
我在IE 8中收到错误:
var l = [{id:1, val:"foo"}, {id:2, val:"bar"},];
for(var i =0; i < l.length; i++){
l[i].val;
}
如果我删除了最后一个逗号,我就不会在IE 8中收到错误
var l = [{id:1, val:"foo"}, {id:2, val:"bar"}];
for(var i =0; i < l.length; i++){
l[i].val;
}
如果ui
是您问题中的文字列表,则可能是原因。
答案 2 :(得分:-1)
我知道这已经很老了,但是如果有人再次遇到同样的问题...
就我而言,引发错误的问题实际上是数组超出范围的问题。我试图访问未填充在数组中的索引,或者您未访问的映射或对象。换句话说,这可能意味着DECLARE
在tool
中不是有效的密钥。