我写了一个简单的HTML和JavaScript登录但我不知道为什么它没有反应。每次我运行它我的浏览器吓坏了。任何建议都将不胜感激。感谢。
<html>
<head>
<script language="JavaScript">
var names = ["MACK","KAV"];
var user = prompt("Please enter your username.").toUpperCase();
switch(user) {
case names[0]:
var password = prompt("Please enter your password.").toUpperCase();
if(user === 'MACK' && password === 'ATTACK') {
document.write("Hi Mack! Welcome back!");
}
else{
for(i =0; i <0; i++) {
document.write("Password not valid!!! ");
};
};
break;
case names[1]:
var password = prompt("Please enter your password.").toUpperCase();
if(user === 'KAV' && password === 'KAV') {
document.write("Hello!");
}
else{
for(i =0; i <0; i++) {
document.write("Password not valid!!! ");
};
};
break;
default:
for(i =0; i <0; i++) {
document.write("Username not valid!!! ");
};
};
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
您必须将所有for语句更改为以下内容:
for(i=0; i<1; i++){
document.write("Password not Valid!!!")
}
这将打印出“密码无效!!!”一旦。现在你的for语句根本不允许它被打印,因为那时永远不会是真的。
答案 1 :(得分:1)
以下是我制作的解决方案,您可以在JSFiddle上查看:http://jsfiddle.net/ux0ohvws/
var names = ["MACK","KAV"];
var user = prompt("Please enter your username.").toUpperCase();
switch(user) {
case names[0]:
var password = prompt("Please enter your password.").toUpperCase();
if(user === 'MACK' && password === 'ATTACK') {
alert("Hi Mack! Welcome back!");
}
else{
alert("Password not valid!!! ");
}
break;
case names[1]:
var password = prompt("Please enter your password.").toUpperCase();
if(user === 'KAV' && password === 'KAV') {
alert("Hi Kav! Welcome back!");
}
else{
alert("Password not valid!!! ");
}
break;
default:
alert('Username not valid!!!')
}
for循环是不必要的。在我的例子中,我将document.write交换为alert,以便它可以在JSFiddle上运行。
答案 2 :(得分:0)
需要在条件和增量声明之间添加分号。
是
for(i =0; i <0 i++)
必须是
for(i =0; i < 0; i++)
将for循环中的0更改为1
for(i = 0; i&lt; 1; i ++)
始终使用任何浏览器中的inspect element
将错误指向脚本。