2013-07-29 59 views
1

我正在尝试使用JavaScript密码保护页面的一部分。 用户会看到一个简单的输入栏和提交按钮,一旦输入正确的密码,用户就可以访问“隐藏的”内容。如何实现Web内容的客户端密码保护?

目前,没有办法查看“隐藏”内容,因为每次有页面重新加载时(这发生在表单提交时)都会隐藏。

是的,我知道这不被认为是“密码保护”,因为密码是在js本身中找到的,但这对于这种特殊情况并不重要。

这是我的代码,谢谢你的帮助。

<script language="JavaScript"> 
    window.onload=function(){ 
    var e = document.getElementById("hiddenContent"); 
    e.style.display = 'none'; 
}; 
function showPass(form){ 
    var pass = form.pwd.value; 

    if(pass == "password") { 
     e.style.display = 'block';  
    } 
} 
</script> 

<form action="#" onsubmit="showPass(form);return false"> 
Please Enter The Password: <input type="password" name="pwd" /> 
<input type="submit" value="Log In" /> 
</form> 
<div id="hiddenContent">Here is the Hidden content...</div> 

如何在正确提交密码后获得隐藏内容查看功能?

+0

那么,有什么问题呢? –

+1

如何在正确提交密码后获得“隐藏内容”视图? – shnozolla

+2

请勿使用javascript!每个使用铬检查员或萤火虫或IE检查员的人都可以更改CSS并显示隐藏部分。使用服务器端语言! – Mangiucugna

回答

1

有两个问题会导致代码崩溃并暂停执行。这会导致您的表单提交,您不需要,而且您的其他代码也不会运行。

的onsubmit = “showPass(形式)的onsubmit =” showPass(本)

ë不是全局变量。它由匿名函数包围,外面不可见。这意味着showPass()不知道什么是e所指的。更改此

var e = document.getElementById(“hiddenContent”);

E =的document.getElementById( “hiddenContent”);(没有var关键字)

或(也许更好)获得showPass的唯一引用该元素()

+0

谢谢Jeffman,正是我在找的! – shnozolla