2013-07-29 57 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