我想制作一个简单的验证表单,但是我得到了一个我无法修复的错误。当我点击一个登录元素后,我想要一个login_window出现(从display:none更改为display:block)之后,我希望登录和密码输入显示出来。当我用“用户名”和“密码”填写其他内容时,它应该显示警告消息。取而代之的是它一直隐藏login_window即使没有形式(我只是点击提交和login_window是隐藏的)隐藏/显示验证表单问题
HTML:
<div id="login_window">
<form name="login_form" onsubmit="return validate_login()" method="post">
<label>Login</label>
<input type="text" name="usr" placeholder="username"><br>
<label>Sign In</label>
<input type="text" name="psw" placeholder="password"><br>
<input type="submit" value="Submit">
</form>
</div>
CSS:
#login {
position:absolute;
width:65px;
height:26px;
}
#login_window {
position:absolute;
width:400px;
height:460px;
background-color:#F0F0F0 ;
z-index:2;
}
JS:
var login = document.getElementById("login");
var login_window = document.getElementById("login_window");
login_window.style.display = "none";
login.addEventListener("click",function(){
login_window.style.display = "block";
});
function validate_login(){
var un = document.login_form.usr.value;
var pw = document.login_form.psw.value;
var username = "username";
var password = "password";
if((un == username) && (pw == password)){
return true;
}else{
alert("Login was unsuccesful, please enter the corrent name and password.");
return false;
}
}
这里是Fiddle
即使它在小提琴中的工作方式与在浏览器中的工作方式不同,我还有两个问题。
1)为什么登录窗口会一直隐藏,只要我点击提交?
2)为什么我的验证表单不工作?
谢谢
回答第1个问题:'login_window.style.display =“none”;' – melancia 2014-10-08 16:21:35
只需指出...从不在真实世界*应用程序上使用javascript用户名/密码验证,因为它可以被任何人读取.... – LcSalazar 2014-10-08 16:22:06
你有一个时间问题:未捕获ReferenceError:validate_login没有定义 – isherwood 2014-10-08 16:36:06