请有人帮忙。我想在我的脚本 block 上使用“requestID”javascript 变量并将其用于我的 sql 查询。但当我这样做时,它不起作用。
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
%>
最佳答案
我认为你在这里遗漏了一些基本的东西。我猜这是 .asp 页面的一部分。
Javascript 是客户端语言,这意味着 Javascript 代码是在加载页面的浏览器中解析和执行的。 VB部分是服务器端语言,因此它是由服务器执行的。客户端和服务器是两个不同的世界。您不能直接在服务器端代码中使用 requestID
变量,因为它仅在客户端部分已知。
因此,如果您想知道该变量的值,则必须首先将其值发送到服务器。有几种方法可以做到这一点...通过 AJAX 发布表单...然后服务器端必须有一个监听器来接收该值并将其存储在当前 session 中。然后您可以在 VB 代码中使用它。
关于asp经典脚本 block 中使用的Javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11699719/