2016-02-17 20 views
0

好,所以我試圖做一個安全性,以便當輸入的密碼不正確時,整個文檔將被替換爲「密碼無效。拒絕訪問」。但它不工作... 如果密碼不正確,如何更換整個文檔?

<p>Lol.</p> 

<script type="text/JavaScript"> 
var p = prompt("Please input password before proceeding.") 
if (p !== password){ 
    document.write("<html><body><p>Invalid Password. Access Denied.</p></body></html>"); 
} 
</script> 

</body> 
</html> 
+1

哪裏'密碼'宣佈? – Arvind

+0

*「但它不工作」*將意味着錯誤拋出......他們是什麼?這些錯誤是您調試的線索。不會出現變量'password'被定義。整個想法是相當無用的,因爲它意味着你必須在瀏覽器 – charlietfl

+1

也公開這個密碼,我敢肯定這只是爲了學習的目的,但你永遠不應該在任何情況下在客戶端進行密碼驗證。 – thedarklord47

回答

1

password是一個未聲明的變量,嘗試'password'''馬克使用它作爲一個字符串。

var p = prompt('Please input password before proceeding.') 
 

 
if (p !== 'password'){ 
 
    document.write("<html><body><p>Invalid Password. Access Denied.</p></body></html>"); 
 
} else { 
 
    document.write("<html><body><p>Valid Password. Access Granted.</p></body></html>"); 
 
}

1

問題是你有沒有宣佈password

if (p !== password) 

您需要的是:

if (p !== 'some text') 
1

您還沒有聲明的密碼變量。對於演示,我已經對它進行了硬編碼。 你也不必包括html & body標籤內document.write

var p = prompt("Please input password before proceeding.") 
var password= "somepassword"; 
if (p !== password){ 
    document.write("<p>Invalid Password. Access Denied.</p>"); 
} 

JSFIDDLE EXAMPLE

如果包括document.writehtml & body標籤會有嵌套html & body  DOM

相關問題