js“无法获取未定义或 null 引用的属性”问题
js文件,IE8下报错:无法获取未定义或 null 引用的属性“parentNode”,请问此类问题如何解决?
方法代码如下:
function initMutiSelect(index,selectConfig){
var pos=index - 1;
if(selectConfig.field!=undefined){
while(selectConfig.field.indexOf("?")>-1){
selectConfig.field = selectConfig.field.replace("?", pos);
}
}
if(selectConfig.hidden!=undefined){
while(selectConfig.hidden.indexOf("?")>-1){
selectConfig.hidden = selectConfig.hidden.replace("?", pos);
}
}else{
alert("hidden没有设置!");
}
selectConfig.container = selectConfig.field+"_Container";
if(selectConfig.codeName!=undefined){
while(selectConfig.codeName.indexOf("?")>-1){
selectConfig.codeName = selectConfig.codeName.replace("?", pos);
}
}
var div=YAHOO.util.Dom.get(selectConfig.field).parentNode; //************************错误行***************
if(div!=null){
var zIndex=(selectConfig.zIndex!=undefined)?selectConfig.zIndex:G_ZINDEX-parseInt(index);
YAHOO.util.Dom.setStyle(div,"z-index",zIndex);
}
var firstAttr;
var getArg = function(){
selectConfig.query = YAHOO.util.Dom.get(selectConfig.field).value;
return selectConfig;//;
}
var onselect;
if(selectConfig.onSelect == undefined){
onselect = function(oAC,result){
YAHOO.util.Dom.get(selectConfig.hidden).value=result[INDEX_SELECT_HIDDEN];
if(selectConfig.codeName!=undefined){
YAHOO.util.Dom.get(selectConfig.codeName).value=result[INDEX_SELECT_DISPLAY];
}
};
}else{
onselect = eval(selectConfig.onSelect);
}
if((selectConfig.type == undefined) || (selectConfig.type == null)){
selectConfig.type = "firstLoad";
}
if(selectConfig.inputHint==undefined){
selectConfig.inputHint="";
}
if(selectConfig.type=="firstLoad"){
var codes = [];
codes.push(selectConfig);
getAllCode(codes,'C');
}else{
var oConfig = { keys: ['code','name'],
primarykey: 'code',
display: 'name',
hidden: 'code',
tooltip: 'name',
querytype: 'seperate',
onsel:onselect,
dwrfarg:getArg,
dwrfname:'getDcode',
inputtip: '请输入'+selectConfig.inputHint,
noresulttip: '没有符合条件的记录! ',
waittip: '数据查询中! ',
format:_defaultSelectFormat
};
var ds = new YAHOO.Arch4platform.DataSource([],oConfig);
var ac = new YAHOO.Arch4platform.selectUI(selectConfig.field,selectConfig.field+"_Container",selectConfig.hidden,'list',ds,oConfig);
_defaultRemoteSelectConfig(ac);
if(selectConfig.forceSelection!=undefined && selectConfig.forceSelection==true){
ac.forceSelection=true;
}
}
}