2017-06-29 110 views
1

我想要一個密碼來結束一個事件並返回到登錄頁面,但是當我點擊按鈕時什麼也沒有發生。呼叫功能提示輸入密碼按鈕點擊

我正在使用的功能和按鈕如下。請注意,這是低於我正在使用提交到下一頁的表單的結尾。

<button id="exitBtn">End Event</button> 
 

 
<script> 
 
    var exitBtn = document.getElementById("exitBtn"); 
 
    exitBtn.addEventListener("click", password()); 
 

 
    function password() { 
 
    var realPW = "<?php echo $pw ?>"; 
 
    var pword = prompt("Please enter your password:"); 
 
    if (realPW == pword) { 
 
     self.location = "LoginBox.php" 
 
    } 
 
</script>

+0

錯字:功能缺失的收盤'}' – Quentin

+0

** **危險你暴露在頁面的源代碼的密碼。這不是安全的。 – Quentin

+0

我重新輸入了函數而不是複製和粘貼,但括號在實際代碼中。這不會成爲一個公共網頁,這個內部應用程序的安全性也不是最重要的。 – Archer

回答

-1

當您使用password()你imidiatly調用該函數,你應該只使用password

如果passwordreturn password;結尾,那麼addEventListener方法會使用它,但您的代碼將不起作用,但事實並非如此。所以你的函數返回undefined,結果發生的是.addEventListener('click', undefined);

固定碼:

結束事件

<script> 
var exitBtn = document.getElementById("exitBtn"); 
exitBtn.addEventListener("click", password); 

function password() { 
    var realPW = "<?php echo $pw ?>"; 
    var pword = prompt("Please enter your password:"); 
    if (realPW == pword) { 
     self.location = "LoginBox.php" 
    } 
} 
</script> 
+0

任何關心評論downvote?是因爲我回答了一個有重複的問題嗎? – Rikard