JS实现简单的登录注册页签

项目要求:

利用前端知识编写一个简单的网站登录和注册页签。登录和注册功能均在同一页面,点击登录按键就进入登录操作,点击注册按键则进入用户的注册操作。其中,登录和注册的内容和大部分网站的登录注册内容一直相同即可。

项目编写:

因为我们要实现一个页签,那就必须要先编写一个前端展示界面。那就将HTML和CSS结合运用起来即可,具体如下图:

<div class="container">
    			
			<div class="form">
				<ul>
					<li class="lf active">注册</li>
					<li class="lf ">登录</li>
					<div class="clear"></div>
				</ul>
				
				<div id="contents">
					<div class="active">
						<form action="/login" method="post">
							<lable for="username">用户名</lable> <input type="text"                     
                             id="username" placeholder="请输入用户名">
							<br>
							<lable for="password">密码</lable> <input type="password"             
                             id="password" placeholder="请输入密码">
							<br>
							<lable for="password2">重复密码</lable> <input 
                             type="password" id="password2" placeholder="请再次输入密码">
							<br>
							<input type="submit" value="注册"/>
						</form>
					</div>
					<div >
						<form action="/regist" method="post">
							<lable for="username1">用户名</lable> <input type="text" 
                             id="username1" placeholder="请输入用户名">
							<br>
							<lable for="password1">密码</lable> <input type="password" 
                             id="password1" placeholder="请输入密码">
							<br>
							<input type="submit" value="登录"/>
						</form>
					</div>
				</div>
			</div>
</div>
*{
	margin: 0;padding: 0;
	box-sizing: border-box;
}

.container{
	width: 1200px;
	margin: 0 auto;
}

/* body{
	color: #666;
	background-color: #fff;
	font-size: 14px ;
} */

.lf{
	float: left;
}

.rt{
	float: right;
}

.clear{
	clear: both;
}

a{
	text-decoration: none;
}
ul,ol,li{
	list-style: none;
}
input{
	outline: none;
}           
            .container{
				height: 1000px;
				border: 1px solid lightblue;
				text-align: center;
			}
			.form{
				width: 30%;
				margin: 0 auto;
				margin-top: 50px;
				border: 1px dotted lightcoral;
				border-radius: 10px;
				overflow: hidden;
			}
			.form ul{
				border-bottom: 1px solid lightgreen;
			}
			.form ul li{
				height: 30px;
				line-height: 30px;
				width: 50%;
			}
			.form ul li.active{
				background-color: lightgray;
			}
			.form ul li+li{
				border-left: 1px solid lightgreen;
			}
			.form #contents>div{
				display: none;
			}
			.form #contents>div.active{
				display: block;
			}

以上是项目的框架和样式,但还不够,还需要写出相应的JS程序去执行对应的功能操作。具体如下:

            <script type="text/javascript">
				let tabs = document.getElementsByTagName("li");
				let contents = document.getElementById("contents").children;
				for(let i=0;i<tabs.length;i++){
					tabs[i].onclick=function(){
						console.log("点击了", tabs[i].innerText);
						// 去除所有 li上的active类名
						for(let j=0;j<tabs.length;j++){
							tabs[j].setAttribute("class", "lf");
						}
						tabs[i].setAttribute("class", "lf active");
							
						// 去除所有div上的active
						for(let j=0;j<contents.length;j++){
							contents[j].removeAttribute("class");
						}
						// 和li索引一样的div添加类名
						contents[i].setAttribute("class", "active");
					}
				}
				
			</script>

结果展示:

希望此次分享能给大家带来一些前端网页以及JS知识上的帮助(喜欢小编的关注、点赞走一波呦,后期会不定期分享更多Python、JS和前端相关知识)

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
JavaScript中创建一个简单的注册登录网,通常涉及HTML、CSS和JavaScript的交互。以下是一个基本的步骤概述: 1. **HTML结构**: - 使用HTML创建表单元素,包括输入框(用户名、密码等)、提交按钮以及可能的提示信息(如`<div>`用于显示错误消息)。 ```html <!DOCTYPE html> <html lang="en"> <head> <title>Registration Login</title> </head> <body> <h2>Register</h2> <form id="registrationForm"> <input type="text" id="username" placeholder="Username" required> <input type="password" id="password" placeholder="Password" required> <button type="submit">Register</button> </form> <br><h2>Login</h2> <form id="loginForm"> <input type="text" id="loginUsername" placeholder="Username" required> <input type="password" id="loginPassword" placeholder="Password" required> <button type="submit">Login</button> </form> <div id="errorMessages"></div> </body> </html> ``` 2. **CSS样式**: - 为表单和错误消息添加样式,提升用户体验。 3. **JavaScript逻辑**: - 添加JavaScript事件监听器来处理表单提交。 - 验证输入(例如,检查密码长度、是否包含特殊字符)并防止非法提交。 - 对于登录,你可以使用简单的硬编码数据(示例)或将其连接到后端API来进行实际验证。 - 对于注册,可能需要将数据发送到服务器并返回确认或错误信息。 ```javascript // JavaScript (简化版) document.getElementById('registrationForm').addEventListener('submit', function(e) { e.preventDefault(); const username = document.getElementById('username').value; // 在实际应用中,将此代码替换为发送到服务器 if(validateUsername(username)) { // 登录到数据库或保存数据 // 更新UI或显示成功消息 } else { showError('Invalid username'); } }); function validateUsername(username) { // 自定义验证规则 return username.length > 5; } function showError(message) { document.getElementById('errorMessages').innerText = message; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crazy ProMonkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值