我正在尝试创建一个字符串,如果b(密码)= a(问候),它将提醒“jj”,如果不是“nope”但我无法弄清楚为什么它不起作用。我知道这不是密码存储的方式。
<!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语句中,您应该只有可以被评估为布尔值的表达式(true / false)。显然,此a=b
是b
到a
的分配,并且它不是一个可以被评估为真或假的表达式。
此外,在这里b = document.getElementById("pasWord").innerHTML
您应该访问value
属性,而不是innerHTML
,因为它包含您要查找的值。
最后但并非最不重要的是,您应该看到变量a
的声明。实际上,a
函数无法访问passWord
。
您可以尝试以下内容(尽管它有点无意义:))
var a;
function start() {
a = "hello";
}
function passWord() {
var b = document.getElementById("pasWord").value;
if (a === b) {
alert("jj");
} else {
alert("nope");
}
}
&#13;
<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>
&#13;
答案 1 :(得分:1)
使用单个“=”符号将值赋给该变量。在您的情况下,使用==或===来检查字符串变量A是否等于“hello”
这是解决方案:)
<script>
function start() {
var a = ("hello");
}
function passWord() {
var b = document.getElementById("pasWord").innerHTML;
if (a === b) {
alert("jj");
} else {
alert("nope");
}
}
答案 2 :(得分:0)
这里有一些问题:
.innerHTML
,这不是输入的值。要使用document.getElementById("pasWord").value
。a
和b
与作为分配的a = b
进行比较,以比较使用==
或===
:a === b
。 a
函数的上下文中声明start
,因此无法在passWord
函数中访问它。您可以全局存储它(只需将var a = ("hello");
替换为a = ("hello");
,或者更好,直接在passWord
函数中访问它。答案 3 :(得分:0)
您将b
值分配给a
。不比较。要比较两个值使用===
或==
。