Hello,
I am getting the following error:
TypeError: global.srchVals[PMItms[j]] is undefined
The code is failing at this line:
global.srchVals[PMItms[j]].srchPgs = PMPgs;
Here is more of the code up to the point where it fails:
function subSrchValPM() {
var srchThisStr = "";
srchThisStr = this.getField(1).valueAsString;
var srchThisArr = srchThisStr.replace(/\s/g,"").split(",");
var nNumWords = srchThisArr.length;
var myArr = []; //var myArr = new Array();
for(i = 0; i <= nNumWords; i++){ //for (var i in srchThisArr)
myArr.push("" + srchThisArr[i]);
//return myArr;
}
global.srchVals = [{}]
for (i = 0; i<= nNumWords; i++) {
global.srchVals[i] = {srchTrm: trim(""+myArr[i]).valueAsString, mode: 0, results: []}; //
}
// Payor Mix
var PMAddItms = "";
var PMLstItms = "";
for (var i=1; i<= nNumWords; i++) {
global.srchVals[i].name = "Payor Mix";
global.srchVals[i].mode = 0;
PMAddItms = i;
if (i < nNumWords) {
PMLstItms = PMLstItms + PMAddItms + ",";
} else {
PMLstItms = PMLstItms + PMAddItms;
}
}
var PMItms = [PMLstItms];
for (var i in global.srchVals) {
global.srchVals[i].srchPgs = [];
global.srchVals[i].matchTerm = getMatchTerm(global.srchVals[i].srchTrm, global.srchVals[i].mode);
}
this.closeDoc(true);
var t = app.thermometer;
t.begin();
t.text = "Processing bookmarks...";
var PMPgs = [];
for (var i=0; i<global.mainDoc.bookmarkRoot.children.length; i++) {
if (global.mainDoc.bookmarkRoot.children[i].name.indexOf("Payor Mix")!=-1) {
PMPgs = getBookmarkRange(global.mainDoc, global.mainDoc.bookmarkRoot, i);
//PMPgs = PMPgs.slice(PMPgs.length -1); // Use first page of the bookmark
for (var j in PMItms)
global.srchVals[PMItms[j]].srchPgs = PMPgs; // Here is where the error happens
}
}
....... the rest of the code ......
}
Why am I getting an "is undefined" error?
Thanks
Linda