在CheckFieldData.asp中(这个页面的作用是用来判定是否可以签核完成,当没有比如该填的栏位没填之类的就可以签核完成,否则签核不成功,跳出提示):
<%if Session("FormStatus") = "Approve" and Session("strUserID")="******" then%>
window.open "include/OrderApprove.aspx?order_nbr="&document.all("ordernum").value&"&comp="&document.all("company").value,"","location=0,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,status=1,left=100,top=10,width=50,height=50"
strErr = strErr & "trim(document.all("flag").value)" & vbCrlf
'flag为asp中隐藏的栏位
<%end if%>
<!--下面的程式的功能是根据flag值判断,"true”是能签核成功。-->
if (strErr = "") then
document.all("sysCheckFieldData").value = "true"
else
document.all("sysCheckFieldData").value = "false"
msgbox strErr, vbExclamation, "錯誤"
exit sub
end if
在OrderApprove.aspx.cs中(执行一定的操作(核准一些数据,需要一定时间),会返回不同的flag值给父页面(上面的ASP))
。。。。。。。。省略。。。。。。。。
Response.Write("<script type='text/javascript'>window.opener.document.getElementById('flag').value='1';window.close();</script>");
。。。。。。。。省略。。。。。。。。
现在我的问题是每次点签核按钮的时候,flag的值第一次总是为空,过一段时间之后值才能变成aspx返回的值!
我现在想问的是,如何控制我先完成aspx中操作,返回flag值之后,再执行asp中如下的代码:
<!--下面的程式的功能是根据flag值判断,"true”是能签核成功。-->
if (strErr = "") then
document.all("sysCheckFieldData").value = "true"
else
document.all("sysCheckFieldData").value = "false"
msgbox strErr, vbExclamation, "錯誤"
exit sub
end if
请大家帮我想想办法吧!
我想到的是用循环争取的时间,可是行不通!当asp中执行到 window.open "include/OrderApprove.aspx?order_nbr="&document.all("ordernum").value&"&comp="&document.all("company").value,"","location=0,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,status=1,left=100,top=10,width=50,height=50"
时,接下来程序是怎么执行的呢???????