因此,我是一个初学者,我正在编写一个用户名创建表单,该表单在指定的容器中显示创建的用户名.我已经制作了表格,当我提交表格时,EventListener知道我.提交表单时发生的函数会使表单不可见,并将项设置为localstorage.它还在容器中显示创建的用户名.(注意:我知道我编写的代码在代码片段中不起作用,但我在一个实际的html文件中进行了测试,它起作用了).我想知道,如果用户名已经存在,如何使表单永远不可见(即使在页面重新加载时也是如此),以及如何在页面重新加载时使用户名保留在H1容器中.所有的帮助我们都很感激!

<!DOCTYPE html>
<html>

<body>
  <form id="username-creator" class="username-creator">
    <input type="text" id="username-creator-input" required>
    <button type="submit">Submit</button>
  </form>
  <div id="username-container">
    <h1 id="username-container-h1">
      <!-- This is where the created username goes -->
    </h1>
  </div>
  <script>
    document.getElementById('username-creator').addEventListener('submit', function(event) {
      event.preventDefault();
      var username = document.getElementById('username-creator-input').value;
      localStorage.setItem('username', username);
      document.getElementById('username-creator').style.display = "none";
      document.getElementById('username-container-h1').innerText = username;
    });
  </script>
</body>

</html>

推荐答案

您可以修改代码以判断存储在localstorage中的用户名是否存在,并相应地调整表单的可见性.

以下是更新代码:

<!DOCTYPE html>
<html>

<body>
  <form id="username-creator" class="username-creator">
    <input type="text" id="username-creator-input" required>
    <button type="submit">Submit</button>
  </form>
  <div id="username-container">
    <h1 id="username-container-h1">
      <!-- This is where the created username goes -->
    </h1>
  </div>
  <script>
   var storedUsername = localStorage.getItem('username');
   if (storedUsername) {
    document.getElementById('username-creator').style.display = "none";
    document.getElementById('username-container-h1').innerText = storedUsername;
                        }
    document.getElementById('username-creator').addEventListener('submit', function(event) {
      event.preventDefault();
      var username = document.getElementById('username-creator-input').value;
      localStorage.setItem('username', username);
      document.getElementById('username-creator').style.display = "none";
      document.getElementById('username-container-h1').innerText = username;
    });
  </script>
</body>

</html>

Javascript相关问答推荐

如何通过在提交时工作的函数显示dom元素?

ReactJS中的material UI自动完成类别

每次子路由重定向都会调用父加载器函数

窗口.getComputedStyle()在MutationObserver中不起作用

在页面上滚动 timeshift 动垂直滚动条

从mat—country—select获取整个Country数组

浮动Div的淡出模糊效果

google docs boldText直到按行执行应用脚本错误

制作钢琴模拟器,并且在控制台中不会执行或显示该脚本

未定义引用错误:未定义&Quot;而不是&Quot;ReferenceError:在初始化&Quot;之前无法访问';a';

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

AddEventListner,按键事件不工作

使用自动识别发出信号(&Q)

输入的值的类型脚本array.排序()

Node.js API-queryAll()中的MarkLogic数据移动

判断函数参数的类型

如何更改Html元素S的 colored颜色 ,然后将其褪色为原始 colored颜色

使用可配置项目创建网格

如何在TransformControls模式下只保留箭头进行翻译?

在单击按钮时生成多个表单时的处理状态