注册板块跳转页面

  • 两个页面:登录页(#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显示,可以考虑使用更友好的用户界面来显示错误信息。
  • 服务器端验证 - 真实环境下的用户信息应该通过服务器端进行验证和存储,而不是仅在前端处理。
  • 表单验证 - 可以添加更多的表单验证,比如邮箱格式、密码强度等。
  • 用户体验 - 页面切换时可
  • 以添加过渡效果,使交互更加平滑

相关推荐

  1. vue怎么页面

    2024-07-11 08:32:01       42 阅读
  2. 微信小程序:页面

    2024-07-11 08:32:01       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 08:32:01       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 08:32:01       108 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 08:32:01       91 阅读
  4. Python语言-面向对象

    2024-07-11 08:32:01       98 阅读

热门阅读

  1. Postman API网络:连接API开发的桥梁

    2024-07-11 08:32:01       26 阅读
  2. 探索AI数字人的开源解决方案

    2024-07-11 08:32:01       25 阅读
  3. GraphQL在Postman中:释放API查询的强大潜能

    2024-07-11 08:32:01       26 阅读
  4. iCloud数据宝库:全方位掌握笔记应用数据存储

    2024-07-11 08:32:01       23 阅读
  5. 开源项目有哪些机遇与挑战?

    2024-07-11 08:32:01       30 阅读
  6. Autogen和LangGraph对比

    2024-07-11 08:32:01       22 阅读
  7. Perl国际化与本地化:跨文化交流的桥梁

    2024-07-11 08:32:01       23 阅读
  8. mysql的常用函数

    2024-07-11 08:32:01       26 阅读
  9. 什么是强缓存和协商缓存

    2024-07-11 08:32:01       30 阅读