帮助!我的一个 Javascript 函数有一个问题,该函数具有由“onreadystatechange”驱动的内部 Javascript 函数。
所以我想要在我的主要 JS 代码中做的就是找出这个函数运行时 jsonWR.SURG.EXIST_IND 的值。当 INNERretval 警报运行时,该值正确输出为 1....这是我所期望的。然后就在我在主手术Scheduled() 函数结束时返回值之前,ENDretval 说该值现在为 0。
我确信我在这里遗漏了一些基本的东西,所以有人可以帮助我。
另外,当调用 SurgeryScheduled() 函数时,我将一个变量设置为返回值:
var q = 0;
q=surgeryScheduled(<someID>);
alert("q:"+q);
上面的警报返回 1,而我希望它返回 0,因为上面的 ENDretval 为 0。我在这里缺少什么?
function surgeryScheduled(srgnID){
var srgnPrsnlID = srgnID;
var sdt = document.getElementById('sdt').value;
var sdtc = sdt.toUpperCase();
var edt = document.getElementById('edt').value;
var edtc = edt.toUpperCase();
var paramString;
paramString =""
paramString += '^MINE^,'
+ srgnPrsnlID
+ ',^'
+ sdtc
+ '^,^'
+ edtc
+ '^'
var WRInfo = new XMLCclRequest();
//; Call the ccl progam and send the parameter string
WRInfo.open("GET", "CH_MP_HAVE_SURGERY_SCHED");
WRInfo.send(paramString);
//; Get the response
WRInfo.onreadystatechange = function () {
if (WRInfo.readyState == 4 && WRInfo.status == 200) {
var jsonWRResp = WRInfo.responseText;
if (jsonWRResp != undefined && jsonWRResp.length !=0) {
jsonWR = eval('(' + jsonWRResp + ')');
}
//; Make sure everything checks out, then return bool
if (jsonWR){
retval = jsonWR.SURG.EXIST_IND;
alert("INNERretval:"+retval);
}//;jsonWR
}//;WRInfo.readyState == 4 && WRInfo.status == 200
}//;WRInfo.onreadystatechange
alert("ENDRetval:"+retval);
return retval;
}