javascript问起求助,我是初学javascript,真诚希望大家帮忙! 在asp页面 根据session取值是否为空 进行两个div交互显示,例如:session取值不为空则div1显示,div2隐藏,session取值为空div1隐藏,div2显示?可以的话用javascript怎样实现,鄙人是初学者,可能这个问起有些幼稚,还希望高人指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现效果是在网站页面有个登录窗口,判断如果用户没有登录,则登录框显示,如果用户登录过了则登录框隐藏,显示欢迎标语,登录信息房子session里边,就是怎样实现根据session的非空判断,进行两个层的交换显示 session的信息是在要在哪写入的?是在其它页面写入的还是在登录后写入? 为啥非要用js呢 asp直接取session不就行了吗 取了之后判断 不同情况显示你的div 不显示就隐藏display:none 谢谢您的关注! 登录后把 用户名放在了session里边 这个没有问起, 就是在页面根据session判断 , 如果session非空则想显示div2 欢迎,,,登录, 如果session为空说明用户没有登录则显示div2 登录框 <div id="div1" runat="server" visible="false></div><div id="div2" runat="server" visible="true"></div>if(Session["username"]==null){ div1.visible=true; div2.visible=false;}else{ div1.visible=true; div2.visible=false;} <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script language="javascript"> function checklogin(ses) { var login=document.getElementById("divlogin") var welcome=document.getElementById("divwelcome") if (ses==undefined )//undefined表示不存在值 { alert("请先登录!") login.style.display=""; //隐藏 welcome.style.display="none"; //显示 } else { login.style.display="none"; //隐藏 welcome.style.display=""; //显示 } }</script></head><body> <div id="divlogin"> 用户:<input type="text" id="txtUser" style="width:200px;" /><br /> 密码:<input type="password" id="txtPwd" style="width:200px;" /><br /> <input type="button" name="btn" value="登录" onclick="checklogin(<%=session("user")%>)"/> </div> <div id="divwelcome" style="display:none"> 欢迎<%=session("user")%>! </div></body></html>以上代码在拷贝在asp中,IIS运行通过。用其它值替换:session("user"),可测试效果! ——+ses是函数中的参数...你把它看做自定义变量去理解吧理解不了 就看下面的代码(我把ses替换了):<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><%session("user")="Jack"%><!--更改session("user")等号右边的值 可测试效果--><script language="javascript"> function checklogin() { var login=document.getElementById("divlogin"); //获取登录div var welcome=document.getElementById("divwelcome"); //获取欢迎div if ("<%=session("user")%>"==undefined || "<%=session("user")%>"=="")//undefined表示不存在值 { alert("请先登录!"); login.style.display=""; //隐藏 welcome.style.display="none"; //显示 } else { login.style.display="none"; //隐藏 welcome.style.display=""; //显示 } }</script></head><body> <div id="divlogin"> 用户:<input type="text" id="txtUser" style="width:200px;" /><br /> 密码:<input type="password" id="txtPwd" style="width:200px;" /><br /> <input type="button" name="btn" value="登录" onclick="checklogin()"/> </div> <div id="divwelcome" style="display:none"> 欢迎<%=session("user")%>! </div></body></html> 我这个是用7#的代码结合我的改的还是有问起 各位看看那有问起!<script language="javascript"> var name=session("username"); function checklogin(name) { var login=document.getElementById("divlogin") var welcome=document.getElementById("divwelcome") if (name==undefined )//undefined表示不存在值 { alert("请先登录!") login.style.display=""; //隐藏 welcome.style.display="none"; //显示 } else { login.style.display="none"; //隐藏 welcome.style.display=""; //显示 } }</script>下边是转换的两个层<div id="divwelcome" style="display:none"> 尊敬的<%=session("username")%>用户,您好,欢迎您登陆!</div><div id="divlogin"> 用户:<input type="text" id="txtUser" style="width:200px;" /><br /> 密码:<input type="password" id="txtPwd" style="width:200px;" /><br /> <input type="button" name="btn" value="登录" onSubmit="提交到checklogin.asp页面,把登录的用户名放在session里边session("username")"/> </div> 注意把ses替换后<%=session("user")%> 两边的 双引号 不可少!少了的话,浏览器会把其值作为变量处理,就会出错。if ("<%=session("user")%>"==undefined || "<%=session("user")%>"=="")//undefined表示不存在值 我把你的提交事件改了,比如我的用户名为Jack。<input type="button" name="btn" value="登录" onSubmit="location.href='checklogin.asp?userName=Jack'"/>然后再checklogin.asp页面用以下代码获得用户名:<%var uName = Request.QueryString("userName")%> 按你那样我改了,但是当登录以后进这个页面登录框还是不隐藏,欢迎信息不显示,如果把<div id="divwelcome" style="display:none">的取掉的话,俩个层都出现,欢迎信息正常显示。这块的提交我是提交到另外一个页面checklogin.asp,在这个checklogin.asp页面有个连接 连接到首页,session值都正常显示着<script language="javascript"> function checklogin(name) { var login=document.getElementById("divlogin") var welcome=document.getElementById("divwelcome") if ("<%=session("username")%>"==undefined || "<%=session("username")%>"=="")//undefined表示不存在值 { alert("请先登录!") login.style.display=""; //隐藏 welcome.style.display="none"; //显示 } else { login.style.display="none"; //隐藏 welcome.style.display=""; //显示 } }</script><div id="divlogin"> 用户:<input type="text" id="txtUser" style="width:200px;" /><br /> 密码:<input type="password" id="txtPwd" style="width:200px;" /><br /> <input type="button" name="btn" value="登录" onSubmit="提交到checklogin.asp页面,把登录的用户名放在session里边session("username")"/> </div> 其实你不用弄得这么复杂,你用户名既然存在session中了,就算你换了页面了session中的值还是会在的,它会一直保持到IE关闭. 我那个提交是提交到checklogin.asp 在这个页面把用户名放进了session里边 这个在首页是可以显示出来的,没有问起 现在就是根据session非空进行层 转换着又问起 嗯 我知道session中的值是一直存在的 session中的用户明是登录以后放进去的,登录框是我是在首页的 我登录以后就跳转到用户信息页面了 在用户信息页面有个“返回首页” 在返回首页以后我想根据session的非空判断 隐藏首页的登录窗口显示 欢迎用户 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script language="javascript"> function checklogin() { var login=document.getElementById("divlogin"); //获取登录div var welcome=document.getElementById("divwelcome"); //获取欢迎div if ("<%=session("username")%>"==undefined || "<%=session("username")%>"=="")//undefined表示不存在值 { login.style.display=""; //隐藏 welcome.style.display="none"; //显示 } else { login.style.display="none"; //隐藏 welcome.style.display=""; //显示 } } function succeedlogin()//检查登录 { var txtUser=document.getElementById("txtUser"); var txtPwd=document.getElementById("txtPwd"); if (txtUser =="" || txtPwd=="") { alert("请输入用户名或密码") } else { location.href="checklogin.asp?userName=" & txtUser.value //传递用户名到checklogin.asp } }</script></head><body onload="checklogin()"><!--在加载事件中判断用户是否已登录--> <div id="divlogin"> 用户:<input type="text" id="txtUser" value="Jack" style="width:200px;" /><br /> 密码:<input type="password" id="txtPwd" value="123456" style="width:200px;" /><br /> <input type="button" name="btn" value="登录" onClick="succeedlogin()"/><!--在登录按钮事件中检查登录--> </div> <div id="divwelcome" style="display:none"> 欢迎<%=session("user")%>! </div></body></html>看看是不是你要的效果!在加载事件判断div显示哪一层。在登录按钮事件判断并传递值 应该在页面加载完成后就执行这个判断不知道lz懂不懂jquery$(document).ready(function() { var isUserInSession = ......; //用DWR或者判断页面上的值是否存在来判断user是否在Session if (isUserInSession) { ...//显示欢迎的div } else { ...//显示登陆框 }});登录事件另外写个方法,登录完成后可以刷新当前页面,也可以跳到另一个页面再跳回来就可以了关键是,页面加载完成后就要判断该显示哪个div 感觉lz对js不是太了解,jquery就更别提了。。 在checklogin.asp页面我已经判断好了 房子了session里边,在首页session的值也能取到 现在就是怎样根据session值的非空 切换俩个层 谢谢! 不会吧,我测试了有效果啊。当session(user)有值时,就显示欢迎。登录也就隐藏了,也就不需要用到checklogin.asp页面了。当session(user)无值时,就显示登录。触发登录按钮事件,在实践中传递登录用户名到checklogin.asp然后您在checklogin.asp中用一下代码保存用户名到session("user")中<%session("user")=QueryString("userName")%> 在checklogin.asp中用以下代码保存用户名到session("user")中<% session("user")=QueryString("userName") %> web [100分]求一个日历式的工作日设置的页面 javascript 标签内为什么用括号呢?谁能给初学者解答一下 在IE6中没错, 在IE 7 中 提示 类不能支持 Automation 操作 类继承的问题 javascript取值问题 一个和 层拖动及类 相关的问题 求js做的日期时间控件(精确到秒) 请问:两个select怎么才能点击按钮让第一个select中选中的值,写入第二个select中 Javascript如何访问客户端的目录和文件呢? JSONObject JS IE和Firefox兼容不了
是在其它页面写入的还是在登录后写入?
<div id="div2" runat="server" visible="true"></div>if(Session["username"]==null)
{
div1.visible=true;
div2.visible=false;
}
else
{
div1.visible=true;
div2.visible=false;
}
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript">
function checklogin(ses)
{
var login=document.getElementById("divlogin")
var welcome=document.getElementById("divwelcome")
if (ses==undefined )//undefined表示不存在值
{
alert("请先登录!")
login.style.display=""; //隐藏
welcome.style.display="none"; //显示
}
else
{
login.style.display="none"; //隐藏
welcome.style.display=""; //显示
}
}
</script>
</head>
<body>
<div id="divlogin">
用户:<input type="text" id="txtUser" style="width:200px;" /><br />
密码:<input type="password" id="txtPwd" style="width:200px;" /><br />
<input type="button" name="btn" value="登录" onclick="checklogin(<%=session("user")%>)"/>
</div>
<div id="divwelcome" style="display:none">
欢迎<%=session("user")%>!
</div>
</body>
</html>
以上代码在拷贝在asp中,IIS运行通过。
用其它值替换:session("user"),可测试效果!
ses是函数中的参数...你把它看做自定义变量去理解吧
理解不了 就看下面的代码(我把ses替换了):<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<%session("user")="Jack"%>
<!--更改session("user")等号右边的值 可测试效果-->
<script language="javascript">
function checklogin()
{
var login=document.getElementById("divlogin"); //获取登录div
var welcome=document.getElementById("divwelcome"); //获取欢迎div
if ("<%=session("user")%>"==undefined || "<%=session("user")%>"=="")//undefined表示不存在值
{
alert("请先登录!");
login.style.display=""; //隐藏
welcome.style.display="none"; //显示
}
else
{
login.style.display="none"; //隐藏
welcome.style.display=""; //显示
}
}
</script>
</head>
<body>
<div id="divlogin">
用户:<input type="text" id="txtUser" style="width:200px;" /><br />
密码:<input type="password" id="txtPwd" style="width:200px;" /><br />
<input type="button" name="btn" value="登录" onclick="checklogin()"/>
</div>
<div id="divwelcome" style="display:none">
欢迎<%=session("user")%>!
</div>
</body>
</html>
<script language="javascript">
var name=session("username");
function checklogin(name)
{
var login=document.getElementById("divlogin")
var welcome=document.getElementById("divwelcome")
if (name==undefined )//undefined表示不存在值
{
alert("请先登录!")
login.style.display=""; //隐藏
welcome.style.display="none"; //显示
}
else
{
login.style.display="none"; //隐藏
welcome.style.display=""; //显示
}
}
</script>
下边是转换的两个层
<div id="divwelcome" style="display:none">
尊敬的<%=session("username")%>用户,您好,欢迎您登陆!
</div><div id="divlogin">
用户:<input type="text" id="txtUser" style="width:200px;" /><br />
密码:<input type="password" id="txtPwd" style="width:200px;" /><br />
<input type="button" name="btn" value="登录" onSubmit="提交到checklogin.asp页面,把登录的用户名放在session里边session("username")"/>
</div>
var uName = Request.QueryString("userName")
%>
<script language="javascript">
function checklogin(name)
{
var login=document.getElementById("divlogin")
var welcome=document.getElementById("divwelcome")
if ("<%=session("username")%>"==undefined || "<%=session("username")%>"=="")//undefined表示不存在值
{
alert("请先登录!")
login.style.display=""; //隐藏
welcome.style.display="none"; //显示
}
else
{
login.style.display="none"; //隐藏
welcome.style.display=""; //显示
}
}
</script><div id="divlogin">
用户:<input type="text" id="txtUser" style="width:200px;" /><br />
密码:<input type="password" id="txtPwd" style="width:200px;" /><br />
<input type="button" name="btn" value="登录" onSubmit="提交到checklogin.asp页面,把登录的用户名放在session里边session("username")"/>
</div>
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript">
function checklogin()
{
var login=document.getElementById("divlogin"); //获取登录div
var welcome=document.getElementById("divwelcome"); //获取欢迎div
if ("<%=session("username")%>"==undefined || "<%=session("username")%>"=="")//undefined表示不存在值
{
login.style.display=""; //隐藏
welcome.style.display="none"; //显示
}
else
{
login.style.display="none"; //隐藏
welcome.style.display=""; //显示
}
}
function succeedlogin()//检查登录
{
var txtUser=document.getElementById("txtUser");
var txtPwd=document.getElementById("txtPwd");
if (txtUser =="" || txtPwd=="")
{
alert("请输入用户名或密码")
}
else
{
location.href="checklogin.asp?userName=" & txtUser.value //传递用户名到checklogin.asp
}
}
</script>
</head>
<body onload="checklogin()"><!--在加载事件中判断用户是否已登录-->
<div id="divlogin">
用户:<input type="text" id="txtUser" value="Jack" style="width:200px;" /><br />
密码:<input type="password" id="txtPwd" value="123456" style="width:200px;" /><br />
<input type="button" name="btn" value="登录" onClick="succeedlogin()"/><!--在登录按钮事件中检查登录-->
</div>
<div id="divwelcome" style="display:none">
欢迎<%=session("user")%>!
</div>
</body>
</html>
看看是不是你要的效果!
在加载事件判断div显示哪一层。
在登录按钮事件判断并传递值
不知道lz懂不懂jquery
$(document).ready(function() {
var isUserInSession = ......; //用DWR或者判断页面上的值是否存在来判断user是否在Session
if (isUserInSession) {
...//显示欢迎的div
} else {
...//显示登陆框
}
});
登录事件另外写个方法,登录完成后可以刷新当前页面,也可以跳到另一个页面再跳回来就可以了
关键是,页面加载完成后就要判断该显示哪个div
当session(user)有值时,就显示欢迎。
登录也就隐藏了,也就不需要用到checklogin.asp页面了。当session(user)无值时,就显示登录。
触发登录按钮事件,在实践中传递登录用户名到checklogin.asp然后您在checklogin.asp中用一下代码保存用户名到session("user")中<%
session("user")=QueryString("userName")
%>
session("user")=QueryString("userName")
%>