ASP数组传值给vbscript数组拜托各位大神

<%q=0foreachsainf1.filesifright(sa.name,3)="jpg"thenb(q)=sa.nameq=q+1endifnext'这里的数组b... <% q=0 for each sa in f1.files if right(sa.name,3)="jpg" then b(q)=sa.name q=q+1 end if next '这里的数组b已经获得数据 %> <script language="vbscript"> dim bb2,x,a(10) k="<%=q%>" //获取数组b有几个数据 for i= 1 to k a(i)="<%=b(i)%>" alert(a(i)) //这里a(i)却没有数据?? next </script> 展开
 我来答
爵爷3378
2014-07-17 · 超过63用户采纳过TA的回答
知道答主
回答量:114
采纳率:100%
帮助的人:58.2万
展开全部
客户端不能调用服务端定义的变量,你在客户端直接赋值后才可以调用。建议你在客户端还是用javascript而不要用vbscript <script language="vbscript"> dim k = <%=q%> dim a(k) <% for i = 1 to q Response.write "a(" & i & ")=" & "'" & b(i-1) & "'" & chr(13) next %> fot i = 1 to k alert(a(i)); next </script> javascript: <script type="text/javascript"> var k = <%=q%>; var a = new array(); <% for i = 1 to q Response.write "a[" & i & "]=" & "'" & b(i-1) & "'" & chr(13) next %> fot (i = 1 ;i<k+1;i++) { alert(a[i]);} </script>
莫奈00378
2014-07-17 · TA获得超过180个赞
知道答主
回答量:114
采纳率:0%
帮助的人:98.8万
展开全部
错误理解了服务器和客户端的概念: 最好加个Option Explicit 这样你a(i)="<%=b(i)%>"中的i就出错了。这是服务器中的变量,是没定义过的, for i= 1 to k 是客户端从 查看-》源代码 看到的客户端变量。 这样应该可以: <script language="vbscript"> dim bb2,x,a(1 to <%=q%>),i <% dim ia for ia = 1 to q Response.Write "a(" & ia & ")=" & """ & b(i) & """ & vbcrlf next %> for i= LBound(a) to UBound(a) alert(a(i)) //这里a(i)有数据了吗? next </script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式