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

解决方案 »

  1.   

    我觉得不能在javascript中调用Session值,因为javascript是客户端语言,session()是存储在服务器端的。
    但是,楼主的意思好像是要达到这样的效果:在客户端弹出个警告框,这个倒是可以实现的。将response.write("<script language=javascript defer>show(rs("username"))</script>")
    改为
    response.write("<script language=javascript>alert(" & rs("username") & " )</script>")
    response.end
      

  2.   

    这和JS、VBS没关系。
    关键在于下面这段
    function show()
    {
    alert("<%=session("username")%>")
    }
    是放在session("username")=rs("username") 之前,还是之后?
    放在session("username")=rs("username")之前的肯定是错的,当然不能得到你想要的结果。另外,你这个问题和客户端、服务端也没关系,只是ASP执行的先后顺序问题。
      

  3.   

    <script>
    <%
      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>
      

  4.   

    是你语句写的顺序问题。
    在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);
    }