菜鸟请教各位大虾一个关于javascript的问题

haif1978 2002-09-04 10:00:08
我现有有两个急手的问题想请教您们,
第一是:我在一个asp页在的一个<a href ="…" onclick="javascript:<%session.Contents("sessionName")= ""%>">(或session.Contents.Remove("sessionName"))现在存在这么一个问题,就是无论是否执行这个onClick事件它都先执行session的各项操作,而我的最终目的是在关闭或刷新这个asp页是要把某个session的值清空或释放,要把整个页重载,而我现在作的操作一把session值清空,整个页的提交就不好用了,原因在于我把session的值给清空了,我现在的问题就是我不知道对这个session应放到什么位置进行有效的处理?
第二是:对于一个<select><option "…"></option></select>中的值我是从库中查询这个select的对应值,其中存放的是学历,我的意思是从库中选择"高中"时,在select中就让"高中"为初选,我是用的if rsQuery("学历") = "高中" then
<select name="学历"><option value="学历" selected>学历</option></select>
但现在我这样做它不显示库中对应的各项值,我请教各位大虾,我的这些问题很着急,请大家帮帮忙,小妹在这儿谢谢各位大虾了!
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
superhasty 2002-09-04
  • 打赏
  • 举报
回复
<option value="<%=rsQuery("学历")%>" <%if rsQuery("学历") = myEduLevel then%>Selected<%end if%>>
<%=rsQuery("学历")%>
</option>
superhasty 2002-09-04
  • 打赏
  • 举报
回复
<%
myEduLevel=Request.Form("学历")
%>
<select name="学历">
<%do while not rsQuery.eof%>
<option value="<%=rsQuery("学历")%>" <%if rsQuery("学历") = myEduLevel then%>Selected<%end if%><%=rsQuery("学历")%></option>
<%Loop%>
</select>
superhasty 2002-09-04
  • 打赏
  • 举报
回复
session的问题略有一些复杂,先给你解释一下你的错误原因:
在代码<a href ="…" onclick="javascript:<%session.Contents("sessionName")= ""%>">中,
<%session.Contents("sessionName")= ""%>部分是服务器端代码,就是在IIS上执行的;而其他部分则是html代码,是在客户的IE(netscape)中执行的。
你一定知道asp是解释性语言,先由iis解释执行,完成后生成html代码传递给客户的浏览器。所以你写的这部分代码,当用户看到该页面时,该session语句已经执行完了。

所以要实现清空session的功能,你要将它写到提交后执行的服务器端代码中。
比如:
<% @Language=vbscript codepage=936%>
<%If Request.ServerVariables("REQUEST_METHOD") = "GET" Then
'初次进入时的代码
myEduLevel="高中"
else
'提交后的代码
lastEduLevel=Request.Form("eduLevel")
session("学历")=""
'response.redirect("nextpage.asp")
'response.write "<script language=javascript>window.close();</script>"
end if
%>
<html>
<head>
</head>
<body>
<form name=myForm method=post action="myfile.asp">
<input type=text name=myName id=myName value="gg">
<select name="eduLevel" id="eduLevel">
<option value="高中" <%if myEduLevel="高中" then%>Selected<%end if%>>高中</OPTION>
<option value="大学">大学</option>
</select>
<a href="#" onclick="javascript:myForm.submit()">提交</a>
</form>
</body>
</html>
baisun 2002-09-04
  • 打赏
  • 举报
回复
要是superhasty(鸟儿自空中飞过) 那个意思,那么superhasty(鸟儿自空中飞过) 是对的!
baisun 2002-09-04
  • 打赏
  • 举报
回复
第一:关闭或刷新这个asp页把session的值清空
<script>
function window.onunload(){
session("sessionName")=""
}
</script>
第二:
你没说明白,如果是显示数据库值,则需要循环
superhasty 2002-09-04
  • 打赏
  • 举报
回复
先回答简单的问题(Select问题):
不要把if语句放在<select>前面,你这样就行了:

<select name="学历">
<option value="学历" <%if rsQuery("学历") = "高中" then%>Selected<%end if%>
<option....>
</select>

28,391

社区成员

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

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