javascript - 为什么 `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:\Users\Hp\Pictures\Camera Roll\avatar2.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 语句它应该停止进入欢迎页面,但在这段代码中它不起作用,它会进入下一页。
尝试onsubmit="return false; validate();"
在使用此代码时整个块停止并且不会进入欢迎页面。
解决方案
您在 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:\Users\Hp\Pictures\Camera Roll\avatar2.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>
推荐阅读
- buildfire - 在 Buildfire 中调用我们的本地服务之一时遇到 CROS 域问题
- html - 获取 html 表单值并转换为 Json 数组 Laravel
- pandas - 熊猫给我 Datautil 的导入错误?
- java - 获取 JSON 数据后如何运行下一个方法?
- python - 如何从另一个类中的函数调用一个类?
- ruby-on-rails - 如何在葡萄实体的响应中修复 JSON 字符串
- javascript - 如何使用 web api 实现联系我们表单以进行免费测试
- php - 如何将变量值从一个函数发送到不同页面中的另一个函数
- swift - 无法转换“NSAttributedString.DocumentAttributeKey”类型的值,“DocumentReadingOptionKey”也不起作用
- javascript - 使用 gurnt-connect-proxy 代理到 cloudfront 得到 403 错误