为什么"return()"和"onsubmit()"在创建 html 欢迎页面的登录表单时不起作用



在用HTML、CSS、js创建欢迎页面的登录表单时,面临的问题是返回语句不起作用。

为HTML内置javascript创建代码

<!DOCTYPE html>
<html>
<head>
<title>LOGIN FORM</title>
	<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
	<div class="loginbox">
	<img src="C:UsersHpPicturesCamera Rollavatar2.png" class="avatar">
	<h1>Login Here</h1><br>
		<form action="loginbox.html" method="post" onsubmit="return validate()">
			<div>
			<p>user name</p>
			<input type="text" name="" placeholder="Enter User name" id="user name">
			</div><br>
			<div>
			<p>password</p>
			<input type="password" name="" placeholder="Enter password" id="password">
			</div><br>
<input type="submit" name="" value="login"><br>
			<a href="#">Lost your pasword??</a><br>
			<a href="#">don't have an account??</a>
		</form>
	</div>

<script type="text/javascript">
var attempt = 3;
	function validate()
	{
var user name= document.getElementById("user name").value;
var password= document.getElementById("password").Value;
		if(user name.value=="dr" && password.value=="8428")
		{      

return true;
}
		else{
			attempt --;// Decrementing by one.
alert("You have left "+attempt+" attempt;");
// Disabling fields after 3 attempts.
if( attempt == 0){
document.getElementById("username").disabled = true;
document.getElementById("password").disabled = true;
document.getElementById("submit").disabled = true;
return false;
		}
	}
	</script>

</body>
</html>

使用return false语句,它应该停止进入欢迎页面,但在这段代码中它不起作用,它会进入下一页。

尝试了CCD_ 1在使用此代码时整个块得到停止&不会进入欢迎页面。

您在id属性中使用了空格,这是不正确的,id属性不能有任何类型的空格。此外,您在提交按钮上缺少id="submit"。在您的代码中,JS无法执行这行

document.getElementById("submit").disabled = true;

因为提交按钮没有任何ID。以下已修复错误。这应该工作

<!DOCTYPE html>
<html>
<head>
<title>LOGIN FORM</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="loginbox">
<img src="C:UsersHpPicturesCamera Rollavatar2.png" class="avatar">
<h1>Login Here</h1><br>
<form action="loginbox.html" method="post" onsubmit="return validate()">
<div>
<p>user name</p>
<input type="text" name="" placeholder="Enter User name" id="username">
</div><br>
<div>
<p>password</p>
<input type="password" name="" placeholder="Enter password" id="password">
</div><br>
<input type="submit" name="" value="login" id="submit"><br>
<a href="#">Lost your pasword??</a><br>
<a href="#">don't have an account??</a>
</form>
</div>
<script type="text/javascript">
var attempt = 3;
function validate()
{
var username= document.getElementById("username").value;
var password= document.getElementById("password").Value;
if(username == "dr" && password == "8428")
{      
return true;
}
else{
attempt --;// Decrementing by one.
alert("You have left "+attempt+" attempt;");
// Disabling fields after 3 attempts.
if( attempt == 0){
document.getElementById("username").disabled = true;
document.getElementById("password").disabled = true;
document.getElementById("submit").disabled = true;
return false;
}
}
</script>
</body>
</html>

问题是提交中缺少id,您必须在具有提交类型的输入中声明id。其次,当您验证表单时,逻辑不正确,当尝试不等于零时,其他部分缺少return语句。

<!DOCTYPE html>
<html>
<head>
<title>LOGIN FORM</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript">
var attempt =3;
function validateForm() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username == "dr" && password == "8428") {
return true;
} else {
attempt--;// Decrementing by one.
alert("You have left " + attempt + " attempt!");
// Disabling fields after 3 attempts.
if (attempt == 0) {

document.getElementById("username").disabled = true;
document.getElementById("password").disabled = true;
document.getElementById("submit").disabled = true;
return false;
}

return false;
}
}
</script>
</head>
<body>
<div class="loginbox">

<h1>Login Here</h1><br>
<form action="/loginbox.html" name="myForm"  onsubmit="return validateForm()">
<div>
<p>user name</p>
<input type="text" name="userName" placeholder="Enter User name" id="username">
</div><br>
<div>
<p>password</p>
<input type="password" name="password" placeholder="Enter password" id="password">
</div><br>
<input type="submit" id="submit" value="login"><br>
<a href="#">Lost your pasword??</a><br>
<a href="#">don't have an account??</a>
</form>
</div>

</body>
</html>

最新更新