requestID= aReqId[iSelReq];
<%
Dim sqlQuery
Dim sqlQuery2
Dim sRecords
Dim sRecords2
Dim iVersion1
Dim iFieldSeqId2
Dim vValue
Dim iNumofReqTypes
Dim iLoop
for iLoop=0 to iNumofReqTypes
sqlQuery = "SELECT iVersion, iFieldSeqId FROM tblUsrAcntFieldsDtlMst, tblReqTypeMst WHERE tblReqTypeMst.ireqTypeID = tblUsrAcntFieldsDtlMst.iSysid and iSysID = '509' and iversion = (select max(iVersion) from tblUsrAcntFieldsDtlMst where iSysID = '509') and cReqDisable = 'N' order by iFieldSeqId,ixCoordinate, iYCoordinate"
sRecords = getRecords(sqlQuery,bResult)
if bResult then
iVersion1 = sRecords(0,iLoop)
iFieldSeqId2 = sRecords(1,iLoop)
end if
sqlQuery2 = "select vValues from tblNewUsrAcntReqDtlTxn where iReqID = " & requestID &" and iSysID = " & SysID &" and iVersion = " & iVersion & " and iFieldSeqID = " & iFieldSeqId & ""
bResult = false
sRecords2 = getRecords(sqlQuery2,bResult)
if bResult then
vValue = sRecords2(0,0)
end if
next
%>
答案 0 :(得分:1)
我想你在这里遗漏了一些基本的东西。我想这是.asp页面的一部分。
Javascript是客户端语言,这意味着Javascript代码将通过加载页面的浏览器进行解析和执行。 VB部分是服务器端语言,因此它由服务器执行。客户端和服务器是两个不同的世界。您无法在服务器端代码中直接使用requestID
变量,因为它仅在客户端部分中已知。
因此,如果您想知道该变量的值,则必须先将其值发送给服务器。有几种方法可以这样做...通过AJAX发布表单...然后必须在服务器端有一个监听器来接收该值并将其存储在当前会话中。然后你可以在你的VB代码中使用它。
答案 1 :(得分:1)
您不能在服务器端代码中使用客户端变量。但是,您可以在客户端代码中使用服务器端变量,因为服务器端代码首先执行。
您可以在此处使用Javascript的AJAX来调用您的经典ASP页面,使用可变数据,获取数据库结果,然后将结果发布回页面。
提示
在您的示例中,您可以取消sqlQuery和sqlQuery2并使用它。与sRecords和sRecords2相同,只需要一个。无需为每个任务填充两个变量。在这样的小循环中没有太大的区别,但保存代码和保存是一个好习惯。资源。