1
我新的web開發,並嘗試做一個登錄功能(用HTML,CSS和JS單獨),但它不會工作只是尚未:/JS確實在控制檯工作,但不是的onclick
<li>
<a id="myLink" href="#" onclick="MyFunction();">
<i class="fa fa-user-plus" aria-hidden="true"></i>
Register
</a>
<script>
function MyFunction() {
var username = prompt("Please choose a username");
var password = prompt("Please choose a password");
}
</script>
</li>
<li>
<a id="myPw" href="#" onclick="MyPassword();">
<i class="fa fa-unlock" aria-hidden="true"></i>
Login
</a>
<script>
function MyPassword() {
var verifyuser = prompt("Please enter your username")
var verifypw = prompt("Please enter your password")
if (verifyuser === username && verifypw === password) {
alert("You have been logged in!")
}
}
</script>
所以基本上當我點擊「註冊」訪問者被提示選擇一個用戶名和密碼,然後他可以使用登錄,如果他點擊「登錄」 然而,如果我在註冊後進入Java控制檯並鍵入「用戶名「只是看看var」username「是否被記住我得到 Uncaught ReferenceError: username is not defined(…)
。
但是,當我不點擊「註冊」,只需在js控制檯手動鍵入js代碼它確實工作。所以我在控制檯(每行一個)輸入:
var username = prompt("Please choose a username"); //now I enter a username
var password = prompt("Please choose a password"); //now I enter a pw
username (now it displays what I just entered when I was prompted for username)
password (now it displays what I just entered for password)
有什麼問題是什麼想法?
太棒了!這樣做的工作!那麼,在實際函數將它們聲明爲全局函數之前,var username和var password是否很重要? – Ympker
函數內部的每個聲明(即'var variablename =「value」')只能在這個函數中訪問。如果你在任何函數之外聲明它,它就是全局的。 –
假設'MyFunction'沒有調用相同的範圍(比如說,不是在頁面加載中,而是在onclick中) - 不一定**在**之前,但在「根」腳本中,不在任何範圍內。 –