您现在的位置: 365建站网 > 365学习 > JS的prompt输入框与ASP变量互动

JS的prompt输入框与ASP变量互动

文章来源:365jz.com     点击数:525    更新时间:2009-09-14 10:34   参与评论

领导要求

进入页面JS弹出“输入对话框”当作密码框来登陆,验证密码直接写在代码里。

但是不能在查看源文件下显示出来。

例如不能这样:

 

 

 

 1 <script language="JavaScript">
 2 function login()
 3 {
 4     var pwd="123"//缺点是在 源代码中可以查看到此密码!
 5     var loginPwd = window.prompt("请输入密码:","");
 6     if (loginPwd==pwd)
 7         {
 8             alert("密码正确!重定向到ok.asp");
 9             location.href="ok.asp";
10         }
11     else
12         {
13             alert("您输入的密码不对!");
14         }
15 }
16 </script>
17 <body onload="login();">
18 </body>
19 

密码直接就可以看到。。不行。。

然后是在ASP声明密码,但是代码在解释时是先把ASP代码段解释为HTML输出了。所以在JS代码块里得不到ASP变量的密码了。

 

具体可以看下面代码,用了一个隐藏表单来接收变量转换并触发。

 1 <%
 2 dim action,pwd
 3 action=trim(request("action"))
 4 pwd=trim(request("pwd"))
 5 
 6 if action="login" then
 7    call login()
 8 end if
 9 
10 sub login()
11 if pwd="123" then '此处修改登陆密码
12    session("loginPwd")="ok"
13    response.redirect "ok.asp"
14 else
15    'response.write "<br /><br />密码错误,请重新输入!"
16    response.write "<script language='javascript'>alert('密码错误!');</script>"
17 end if
18 end sub
19 %>
20 
21 <html>
22 <head>
23 <title>登陆验证</title>
24 
25 <form name="form1" action="?action=login" method="post">
26 <input type="hidden" name="pwd" onpropertychange="document.getElementById('form1').submit();"> 
27 </form>
28 
29 <script language="javascript">
30 var loginPwd=window.prompt("请输入密码:","");
31 
32 if (loginPwd!=null)
33 {
34    document.form1.pwd.value=loginPwd;
35 }
36 else
37 {
38    window.close();
39 }
40 </script>
41 
42 </head>
43 
44 <body>
45 </body>
46 </html>
47 

 

之前ASP一直得不到JS传递过来的变量,因为ASP代码已经先一步解释为HTML代码了。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (525人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------