2016-07-17 28 views
-2

即時通訊設法做一個字符串,如果b(密碼)= a(你好)它會提醒「jj」,如果不是「nope」,但我不知道爲什麼它不會工作。我知道這個心不是如何密碼妥善保存,但即時通訊只是學習JavaScript if password = hello

<!DOCTYPE html> 
<html> 
<body> 

<input type="button" value="run js" onclick="start()"> 

<br><br> 

UserName: <input type="text" id="userName"> 

Password: <input type="password" id="pasWord"> 


<p>hello</p> 

<button onclick="passWord()"></button> 


<script> 
function start() { 
    var a = ("hello"); 
} 
function passWord() { 
    var b = document.getElementById("pasWord").innerHTML; 
    if (a = b) { 
     alert("jj"); 
    } else { 
     alert("nope"); 
    } 

} 


</script> 

</body> 
</html> 
+0

謝謝大家的幫助! –

回答

1

a = b是不正確的。它應該更改爲以下內容:

a === b 

在if語句中,您應該只有可以評估爲布爾值(真/假)的表達式。顯然,這個a=bba的賦值,它不是一個可以評估爲真或假的表達式。

此外,在這裏b = document.getElementById("pasWord").innerHTML您應該訪問value屬性而不是innerHTML,因爲它包含您正在查找的值。

最後但並非最不重要的是,您應該看到變量a的聲明。實際上,apassWord函數中不可訪問。

你可以嘗試像下面的(儘管這是一個有點意義的:))

var a; 
 

 
function start() { 
 
    a = "hello"; 
 
} 
 

 
function passWord() { 
 
    var b = document.getElementById("pasWord").value; 
 
    if (a === b) { 
 
     alert("jj"); 
 
    } else { 
 
     alert("nope"); 
 
    } 
 
}
<input type="button" value="run js" onclick="start()"> 
 
<br/> 
 
UserName: <input type="text" id="userName"> 
 
Password: <input type="password" id="pasWord"> 
 
<p>hello</p> 
 
<button onclick="passWord()">password</button>

0

有幾件事情是錯在這裏:

  • 您訪問.innerHTML這不是價值和投入。要訪問該值,請使用document.getElementById("pasWord").value
  • 您嘗試比較aba = b這是一個任務,要比較使用=====a === b
  • 您在start函數的上下文中聲明瞭a,因此它在passWord函數中不可訪問。您可以在passWord功能直接存儲全局(只是a = ("hello");,或更好的替代var a = ("hello");,訪問它。
0

你分配b價值a。不比較。要比較兩個值使用=====

1

使用單一的「=」號將分配的值是可變的。你的情況,使用==或者===檢查該字符串變量A等於「你好」

這裏是解決方案:)

<script> 
function start() { 
    var a = ("hello"); 
} 
function passWord() { 
    var b = document.getElementById("pasWord").innerHTML; 
    if (a === b) { 
     alert("jj"); 
    } else { 
     alert("nope"); 
    } 

}