1

这是我正在使用的代码。

<script>
function login(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;

if(username == "Ethan" && password == "Horton"){
    document.getElementById("test").innerHTML="Logged In: "Ethan"
}
else{
    alert("Incorrect User/Pass")
    }
}
</script>
<br />


Username: <input type="text" name="username" id = "username">

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

<button type = "button" onclick = "login()">Login</button>

当我按下按钮时,不会调用该函数。(我对 JavaScript 有点陌生。)

4

2 回答 2

5

问题出在这个字符串中:"Logged In: "Ethan". 这是不正确的。

您可以将其用单引号括起来或转义常规 qouotes:

'Logged In: "Ethan"'

"Logged In: \"Ethan\""

http://jsfiddle.net/f0t0n/LDLN4/

于 2013-10-18T18:11:21.587 回答
1

您所要做的就是将响应用引号括起来。

document.getElementById("test").innerHTML="Logged In: "Ethan" //incorrect

document.getElementById("test").innerHTML="Logged In: Ethan" //CORRECT

因为你只是显示一个字符串,所以整个事情需要用引号引起来。如果您将该字符串存储在变量中,则不需要引号

var loggedInMessage = "Logged In: Ethan";
document.getElementById("test").innerHTML = loggedInMessage;

所以请记住,引号表示字符串,没有引号表示您正在调用变量。(如果变量已经定义并且你尝试调用它,你会得到一个错误)

于 2013-10-18T18:37:47.810 回答