注册板块跳转页面

  • 两个页面:登录页(#loginPage)和注册页(#registerPag)
  • 登录页有一个表单(#loginForm),用于收集用户的用户名(#loginUsername)和密码(#loginPassword),有一个“登录”按钮,点击后会触发名为login()的函数。此外,还有一个“注册新用户”按钮,指向注册页。
  • 注册页同样是一个表单(#registerForm),包含了用户名、密码输入字段以及推荐人信息。点击“注册”按钮会执行register()函数。这个页面默认是隐藏的(style=“display: none;”),只有当点击“返回登录”按钮时,才会显示登录页面。
  • dfebf7ed6f7e465dac8d24c7ab8b07a4.jpg

 代码如下:

<body>

  <div id="loginPage">

    <h1>登录页面</h1>

    <form id="loginForm">

      <label for="loginUsername">用户名:</label>

      <input type="text" id="loginUsername" name="loginUsername" required>

      <br>

      <label for="loginPassword">密码:</label>

      <input type="password" id="loginPassword" name="loginPassword" required>

      <br>

      <button type="button" οnclick="login()">登录</button>

    </form>

    <button οnclick="showRegister()">注册新用户</button>

        <br>

      <li>嘿嘿嘿,注册才能看得到喔</li>

    </form>

  </div>

<div id="registerPage" style="display: none;">

    <h1>注册页面</h1>

    <form id="registerForm" class="register-form">

      <label for="registerUsername">用户名:</label>

      <input type="text" id="registerUsername" name="registerUsername" required>

      <br>

      <label for="registerPassword">密码:</label>

      <input type="password" id="registerPassword" name="registerPassword" required>

      <br>

      <label for="registerReferrer">推荐人:</label>

      <input type="text" id="registerReferrer" name="registerReferrer">

      <br>

     <button type="button" οnclick="register()">注册</button>

    </form>

    <button οnclick="showLogin()">返回登录</button>

        <br>

      <li>由于作者太笨只会前端不会后端数据技术,没能用手机注册,望指点</li>

   <br>

     <li>注册一次更新一次喔</li>

    </form>

  </div>

  • 运行结果:

42fa2c15f3b5452f821632ec50b56840.jpg

  • 代码如下:

<script>

    // 用户模拟数据库

    const users = {};

 

    function showRegister() {

      document.getElementById('loginPage').style.display = 'none';

      document.getElementById('registerPage').style.display = 'block';

    }

 

    function showLogin() {

      document.getElementById('registerPage').style.display = 'none';

      document.getElementById('loginPage').style.display = 'block';

    }

 

    function register() {

      const username = document.getElementById('registerUsername').value;

      const password = document.getElementById('registerPassword').value;

      const referrer = document.getElementById('registerReferrer').value;

 

      // 简单的注册逻辑,实际应用中应该有更复杂的验证和服务器端存储

      if (users[username]) {

        alert('用户名已存在!');

      } else if (username.length < 5 || password.length < 8) {

        alert('用户名必须不低于5个字符,密码必须不低于8个字符!');

      } else {

        users[username] = { password, referrer };

        alert('注册成功!');

        showLogin(); // 注册成功后显示登录页面

      }

    }

 

    function login() {

      const username = document.getElementById('loginUsername').value;

      const password = document.getElementById('loginPassword').value;

 

      const user = users[username];

      if (user && user.password === password) {

        // 登录成功后,将用户信息存储在localStorage中

        localStorage.setItem('user', JSON.stringify(user));

        document.getElementById('loginPage').style.display = 'none';

        document.getElementById('mallPage').style.display = 'block';

      } else {

                alert('用户名或密码错误!');

      }

    }

 

    // 检查localStorage中是否有用户信息,如果有,自动填充登录表单

    window.onload = function() {

      const storedUser = localStorage.getItem('user');

      if (storedUser) {

        const user = JSON.parse(storedUser);

        document.getElementById('loginUsername').value = user.username;

        document.getElementById('loginPassword').value = user.password;

      }

    };

  </script>

  • 显示注册和登录页面 - showRegister 和 showLogin 函数用于控制注册和登录页面的显示。
  • 注册逻辑 - register 函数获取用户输入的用户名、密码和推荐人信息,进行简单验证后,将用户信息存储在模拟的users数据库对象中。
  •  
  • 登录逻辑 - login 函数验证用户输入的用户名和密码,如果匹配,则将用户信息存储在localStorage中,并显示商城页面。
  • 自动填充登录表单 - window.onload 事件在页面加载时触发,用于检查localStorage中是否有用户信息,如果有,则自动填充登录表单。
  • 这里有一些改进建议:

  • 安全性 - 密码应该进行加密存储,而不是以明文形式。
  • 错误处理 - 当前注册和登录错误仅通过alert显示,可以考虑使用更友好的用户界面来显示错误信息。
  • 服务器端验证 - 真实环境下的用户信息应该通过服务器端进行验证和存储,而不是仅在前端处理。
  • 表单验证 - 可以添加更多的表单验证,比如邮箱格式、密码强度等。
  • 用户体验 - 页面切换时可
  • 以添加过渡效果,使交互更加平滑
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码农进厂打螺丝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值