javascript:
function show(str)
{
alert(str)
}vbscript:
for i=1001 to 1005
sql="select username from [user] where id="&i
rs.open sql,cn,1,1
if rs.eof = false then
session("username")=rs("username")
response.write("<script language=javascript defer>show(rs("username"))</script>")
延时时间,我定为2秒,在执行下一条,
end if
next
function show(str)
{
alert(str)
}vbscript:
for i=1001 to 1005
sql="select username from [user] where id="&i
rs.open sql,cn,1,1
if rs.eof = false then
session("username")=rs("username")
response.write("<script language=javascript defer>show(rs("username"))</script>")
延时时间,我定为2秒,在执行下一条,
end if
next
但是,楼主的意思好像是要达到这样的效果:在客户端弹出个警告框,这个倒是可以实现的。将response.write("<script language=javascript defer>show(rs("username"))</script>")
改为
response.write("<script language=javascript>alert(" & rs("username") & " )</script>")
response.end
关键在于下面这段
function show()
{
alert("<%=session("username")%>")
}
是放在session("username")=rs("username") 之前,还是之后?
放在session("username")=rs("username")之前的肯定是错的,当然不能得到你想要的结果。另外,你这个问题和客户端、服务端也没关系,只是ASP执行的先后顺序问题。
<%
sql="select username from [user] where id>1000 and id<1006"
rs.open sql,cn,1,1
if Not rs.eof Then
do while not rs.eof
response.write("alert('"& rs(0)&"');")
rs.movenext
loop
end if
</script>
在asp代码里尚未给session赋值以前,你已经在js的show()里调用session了。
但如果你吧show()代码放到asp代码后面,输出到网页里,又是先执行调用show(),再有show()的定义。
可以采用下面的方法:
vbscript:
for i=1001 to 1005
sql="select username from [user] where id="&i
rs.open sql,cn,1,1
if rs.eof = false then
session("username")=rs("username")
response.write("<script language=javascript>var name='"&session("username")&"'</script>")
end if
nextjavascript:
function show()
{
alert(name);
}