ASP新发现,我需要你们的帮助!

wauo 2003-07-22 04:29:45
<%dim a(10)
a(0)=1
a(1)=2
a(2)=3
a(3)=4
a(4)=5
a(5)=6%>
<SCRIPT language="javascript">
function test(aaa)
{
for (i=0;i<4;i++)
{
alert(<%=a(i)%>);
}
}
</script>
为什么弹出alert对话框中a(i)为空?如果把

for (i=0;i<4;i++)
{
alert(<%=a(i)%>);
}

换成
alert(<%=a(0)%>); 就有值。
请高手指教!!!!
...全文
32 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerwen01 2003-07-23
  • 打赏
  • 举报
回复
to wauo (猪头),下面这段代码是在浏览器端执行,所以你一下载网页,这段程序就先执行,懂吗?
<SCRIPT language="javascript">
function test(aaa)
{
for (i=0;i<4;i++)
{
alert(<%=a(i)%>);
}
}
</script>
xiejinming 2003-07-23
  • 打赏
  • 举报
回复
支持Cooly(☆给我一个开心的理由!☆)


建议你将a()数组中的内容组合成一个字符串,然后通过split在客户端拆分成数组,
然后再做循环

<%dim a
a="1,2,3,4,5,6"
%>
<SCRIPT language="javascript">
function test(aaa)
{
var b= "<%=a%>";
var c= b.split(",");

for (i=0;i<4;i++)
{
alert(c[i]);
}
}
test();
</script>
Primer2002cn 2003-07-23
  • 打赏
  • 举报
回复
<%for i=0 to 4
test(aaa)
function test(aaa)
{%>
alert(<%=a(i)%>);
<%}
next%>
wauo 2003-07-23
  • 打赏
  • 举报
回复
我用alert只是为了检测程序的正确性,我的这段不能在服务器运行,因为我要改变页面上列表的属性
dx 2003-07-22
  • 打赏
  • 举报
回复
是i的问题
dgm8 2003-07-22
  • 打赏
  • 举报
回复
不能用alert,用document.write
chinahuman 2003-07-22
  • 打赏
  • 举报
回复
当脚本执行的时候,你那个数组就已经不存在了,你的数组是在服务器上,而脚本却是在客户端,客户端的CPU和服务器的内存没有一根直通的总线呀!
wauo 2003-07-22
  • 打赏
  • 举报
回复
好的,再想办法了
aabiao 2003-07-22
  • 打赏
  • 举报
回复
若不明白服务器端与客户端脚本的执行方法,根本是治不了根的。
客户端的代码是服务器端脚本输出的结果!
你人工翻译一下服务器端的执行结果,再与网页代码对照一下,这都对了,你就懂了,下面就简单了。
Cooly 2003-07-22
  • 打赏
  • 举报
回复
给你个例子吧

<%dim a
a="1,2,3,4,5,6"
%>
<SCRIPT language="javascript">
function test(aaa)
{
var b= "<%=a%>";
var c= b.split(",");

for (i=0;i<4;i++)
{
alert(c[i]);
}
}
test();
</script>
say1no2 2003-07-22
  • 打赏
  • 举报
回复
to: wauo(猪头)

我说的那个方法不行的,你还是想其它方法吧!alert不能在服务器运行的。
见  Cooly(☆给我一个开心的理由!☆)  的回复!
Cooly 2003-07-22
  • 打赏
  • 举报
回复
TO wauo(猪头):
建议你将a()数组中的内容组合成一个字符串,然后通过split在客户端拆分成数组,
然后再做循环
wauo 2003-07-22
  • 打赏
  • 举报
回复
哎~~~~~~~~~~~~~~`
cloudchen 2003-07-22
  • 打赏
  • 举报
回复
受不了,还不懂......
wauo 2003-07-22
  • 打赏
  • 举报
回复
<script ... runat="server">...</script>不行,~~~~~~~~
HELP ME!!!
cloudchen 2003-07-22
  • 打赏
  • 举报
回复
等同,只有执行次序上有先后顺序
simpsons 2003-07-22
  • 打赏
  • 举报
回复
一个问题:<script ... runat="server">...</script>是否完全等同于<%%>
zykj_2000 2003-07-22
  • 打赏
  • 举报
回复
<%=a(i)%>
不的值众何而业,你不要告诉我是for循环里的,晕
cloudchen 2003-07-22
  • 打赏
  • 举报
回复
服务器先编译<%...%>里的代码,客户端再编译,然后通过事件驱动再触发script内的脚本代码
Cooly 2003-07-22
  • 打赏
  • 举报
回复
TO say1no2(海子):

加上runat="server",数组取值正常了,可是无法使用alert()方法,因为alert()只能是通过Browser进行解释的脚本语言,而不能在服务器端执行(其中也有安全性的原因)
加载更多回复(20)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧