主题:  ★问题解决了.两位版主尽心尽力,非常感谢!!

尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#12004/12/16 10:49:07
比如:
在ASP程序中有一个动态数组 a(n)
要如何才能在javascript中调用a(n)中的数据.
我原来 是这样想的.在javascript中
var m,i,b
m=<%=n%>
for(i=0,i<m,i++)
{b[i]=<%=a(i)%>} 可是这时就提示a(i)不正确.
不知道能看懂吗?

编辑历史:[此帖最近一次被 清水玲子 编辑过(编辑时间:2004-12-16 15:42:43)]


缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22004/12/16 11:00:24
i是js中的变量,怎么能在asp中引用

还是客户端和服务器的概念不清
你应该在asp中写循环,输出相应的js

比如:
for i=0 to UBound(a)
Response.write("b["&i&"] = """&a(i)&""";"&vbcrlf)
next



尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#32004/12/16 14:20:54
for i=0 to UBound(a)
Response.write("b["&i&"] = """&a(i)&""";"&vbcrlf)
你这句有什么具体的意思吗?不过是输出形式上是写成b[0]=****.而不是我要的可以在javascript中使用的变量!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#42004/12/16 14:29:41
写JS程序就当象写HTML一样的写法,只要在浏览器里能显示完整的JS代码就可以。


非常大鱼

尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#52004/12/16 14:35:01
那你是什么意思 ?
只要浏览器输出B[0]=22,B[1]=45.那么我在JS里怎么用呢?
for i=0 to UBound(a)
Response.write("b["&i&"] = """&a(i)&""";"&vbcrlf)
而且这句话是输出,但如果我不想输出只是想赋值,就会提示,类型不匹配 .




缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#62004/12/16 14:35:30
清水玲子在上个帖子中说
引用:
for i=0 to UBound(a)
Response.write("b["&i&"] = """&a(i)&""";"&vbcrlf)
你这句有什么具体的意思吗?不过是输出形式上是写成b[0]=****.而不是我要的可以在javascript中使用的变量!




你在<script></script>标记中输出
最后到客户端不就是js代码么?



尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#72004/12/16 14:41:22
我没看懂.你有QQ吗?或者如果你方便的可以给我电话号码吗?
我想问清楚点!



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#82004/12/16 14:43:56
<script>
var x="<% Response.write("Text") %>";
alert(x);
</script>



qq,电话...呵呵.以后类似的话就不要说了



尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#92004/12/16 14:53:58

编辑历史:[此帖最近一次被 清水玲子 编辑过(编辑时间:2004-12-16 15:05:39)]


蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#102004/12/16 14:54:31
看来还没搞清楚ASP与JS的关系。ASP是服务器中执行的,比JS要执行的早。所看到的HTML包括JS都是ASP程序执行后的代码。所以用ASP可以写任何的JS代码,甚至可以这样写:
<%
Response.Write "<script language='javascript'>"
Response.Write "var myText ='" + rs("Content") + "';"
Response.Write "alert myText;"
Response.Write "</script>"
%>
上面的代码是一样的,JS只不过是文本,ASP照样可以写任何JS语句。


非常大鱼

尘埃

职务:普通成员
等级:2
金币:3.0
发贴:700
注册:2001/3/29 11:28:09
#112004/12/16 14:56:31
allinhands在上个帖子中说
引用:
<script>
var x="<% Response.write("Text" %>";
alert(x);
</script>



qq,电话...呵呵.以后类似的话就不要说了




为什么?然道怕别人骚扰你吗?呵呵....
我只是绝得电话里说得清点.没别的意思 呀..



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#122004/12/16 15:13:47
清水玲子在上个帖子中说
引用:
<% dim imgpath(10)
    str="<P align=center><FONT size=2><IMG src=""Upfiles/2004121091617730.gif"" border=0></FONT></P><P align=center>fdfdfdfdfdffdfdf<IMG src=""Upfiles/2004126103257212.jpg"" border=0></P>dsfsdfsdfsd"
    Set regEx = New RegExp
    regEx.Pattern= "<IMG src=""(\S*)"" border=0>"
    regEx.IgnoreCase = True
    regEx.Global=True
    set Matches=regEx.Execute(str)
    for each Match in Matches
    n=n+1
    imgpath(n)=Match.SubMatches(0)
%>
这是上次你告诉我的代码.我改了一点. imgpath(n)
这个是我要用到的代码.太多选了部分.
<script language=javascript>
var bannerAD=new Array();
var adNum=0;
bannerAD[0]=" Upfiles/2004121091617730.gif ";(这个地方就是要用到前面的图片地址!)
bannerAD[1]=" Upfiles/2004126103257212.jpg ";
……..
</script>
不知道说得是不是明白?



你先可以用ASP把这些图片文件放在一数组里,比如是uploadFiles
那么可以这样写JS:
<% for i = 0 to UBound(uploadFiles) %>
    bannerAD[i]= "<%= uploadFiles(i) %>;"
<% next %>


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#132004/12/16 15:18:08
<script language=javascript>
var bannerAD=new Array();
var adNum=0;
<%
n = 0;
for each Match in Matches
Response.write("bannerAD["&n&"]="""& Match.SubMatches(0) &""";"&VBCRLF)
n=n+1
next
%>

...
</script>


明白否?就是和用ASP输出HTML一样的道理.只要把正确的js输出后,就可以到客户端执行了