• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

HTML和JavaScript实现注册页面

武飞扬头像
一只爱打拳的程序猿
帮助1

学新通

目录

1.实现效果

2.HTML表单

2.1input标签

2.2for属性

2.3name属性

2.4select标签

3.JS窗口事件

3.1document.getElementById简单介绍

4.HTML和JavaScript源码

学新通

1.实现效果

学新通

以上图片为效果图展示,当我们输入错误的信息时,在注册框的最下方会提示相应的错误信息。当你输入正确的信息,则输出注册成功。性别实现单选,爱好实现多选,住址实现选择框等等。在下方2-3小节中讲解相关属性的用法,如想要源码直接跳过2-3节直接到第4节,第4节为源码展示

最终实现效果:

  1. 账号或密码输入错误,提示警告信息
  2. 性别实现单选框
  3. 爱好实现多选框
  4. 住址实现选择框
  5. 自我介绍实现多行文本输入框
  6. 提交按钮实现窗口事件

2.HTML表单

<form> 标签用于为用户输入创建HTML表单。表单能够包含<input>标签,表单还可以包含menus、textarea、fieldset、legend和label元素,本期主要讲解<label>标签的用法。


2.1input标签

<input>标签中type里面设置的就是属性,你想要输入的是文本就设置text属性,想要输入的是密码就设置password属性。

学新通


 一个密码框:

  1.  
     
  2.  
    <body>
  3.  
    <form>
  4.  
    <div>
  5.  
    <label>密码</label>
  6.  
    <input type="password"/>
  7.  
    </div>
  8.  
    </form>
  9.  
    </body>
  10.  
     

 显示效果:

学新通


2.2for属性

for属性可把label绑定到另外一个元素。for 属性的值设置为相关元素的id属性的值,就能与相关属性同步,因此for属性规定label绑定到哪个表单元素。如:

  1.  
     
  2.  
    <body>
  3.  
    <form>
  4.  
    <div>
  5.  
    <label for="class">密码</label>
  6.  
    <input type="password" id="class"/>
  7.  
    </div>
  8.  
    </form>
  9.  
    </body>
  10.  
     

效果展示:

学新通

当我们点击密码这个文本时,后面的方框会闪烁光标,达到了一个绑定的效果。这就是for属性的用途。


2.3name属性

当我们在使用单选框时,如果直接编写几行单选框时。我们不必须每个单选值都得选,因此我们可以使用name属性来使这几行单选框达到只能选一个单选值的效果。如:

  1.  
     
  2.  
    <body>
  3.  
    <form>
  4.  
    <div>
  5.  
    <label>爱好:</label>
  6.  
    <input type="radio"/>篮球
  7.  
    <input type="radio"/>羽毛球
  8.  
    <input type="radio"/>拳击
  9.  
    </div>
  10.  
    </form>
  11.  
    </body>

显示效果:

学新通


我们可以看到,所有的单选都能够被选,那我们编写这几行代码就没有意义了,因此我们可以这样去修改: 

  1.  
    <body>
  2.  
    <form>
  3.  
    <div>
  4.  
    <label>爱好:</label>
  5.  
    <input type="radio" name="rad"/>篮球
  6.  
    <input type="radio" name="rad"/>羽毛球
  7.  
    <input type="radio" name="rad"/>拳击
  8.  
    </div>
  9.  
    </form>
  10.  
    </body>

 显示效果:

学新通

以上代码中,我们把每个<input>标签中都加入了一个name="rad"的属性,达到了这三个单选框变为一个单选框的效果。


2.4select标签

<select>标签,代表选择框<select>标签里面使用<option>标签来达到选择效果。<option>标签里面有value值,value值代表着该字段在第几行,注意一般按照从0往后增加。

  1.  
    <body>
  2.  
    <form>
  3.  
    <div>
  4.  
    <select>
  5.  
    <option value="0">选择住址</option>
  6.  
    <option value="1">湖北</option>
  7.  
    <option value="2">新疆</option>
  8.  
    <option value="3">西藏</option>
  9.  
    </select>
  10.  
    </div>
  11.  
    </form>
  12.  
    </body>

显示效果:

学新通 以上代码展示了<select>、<option>、value的用法,实现了一个简单选择框。


3.JS窗口事件


3.1document.getElementById简单介绍

当我们点击一个表单中的id时想要达到某些效果的时候,我们可以使用document.getElementById('id名').onclick来创建一个匿名函数。如:

  1.  
    <body>
  2.  
    <form>
  3.  
    <div>
  4.  
    <button id="but">按钮</button>
  5.  
    </div>
  6.  
    </form>
  7.  
    <script>
  8.  
    document.getElementById('but').onclick = function() {
  9.  
    alert("弹出一个警告");
  10.  
    }
  11.  
    </script>
  12.  
    </body>

显示效果:

学新通

以上代码展示了document.getElementById('id名').onclick创建一个匿名函数,并且弹出一个警告框。


4.HTML和JavaScript源码

  1.  
    <!DOCTYPE html>
  2.  
    <html>
  3.  
    <head>
  4.  
    <meta charset="utf-8">
  5.  
    <title>注册框的实现</title>
  6.  
    <style>
  7.  
    * {
  8.  
    margin: 0;
  9.  
    padding: 0;
  10.  
    }
  11.  
    .container {
  12.  
    width: 100%;
  13.  
    }
  14.  
    .register-wrap {
  15.  
    width: 600px;
  16.  
    margin: 50px auto;
  17.  
    border: 1.5px solid #2d77bd;
  18.  
    border-radius: 10px;
  19.  
    padding: 20 px 50ox;
  20.  
    box-shadow: 0;
  21.  
    }
  22.  
    .register-wrap h1 {
  23.  
    background-color:#2d77bd;
  24.  
    height:60px;
  25.  
    line-height: 50px;
  26.  
    border-radius: 10px 10px 0 0;
  27.  
    font-size: 30px;
  28.  
    color: whitesmoke;
  29.  
    text-align: center;
  30.  
    font-weight: 15px
  31.  
    }
  32.  
    #username,#password,#iner {
  33.  
    padding:10px 20px;
  34.  
    width: 45%;
  35.  
    border: 1px solid ;
  36.  
    border-radius: 5px;
  37.  
    padding-left: 0px;
  38.  
    }
  39.  
    .form-control label {
  40.  
    margin-right: px;
  41.  
    padding-left: 100px;
  42.  
    }
  43.  
    .form-control input[type=button] {
  44.  
    width: 20%;
  45.  
    height: 50px;
  46.  
    line-height: 50px;
  47.  
    background-color: #2d77bd;
  48.  
    border: none;
  49.  
    color: #fff;
  50.  
    font-size: 20px;
  51.  
    margin-left: 230px;
  52.  
    border-radius: 6px;
  53.  
    }
  54.  
    .errorInfo {
  55.  
    color: red;
  56.  
    font-size: 20px;
  57.  
    display: none;
  58.  
    text-align: center;
  59.  
    }
  60.  
     
  61.  
    </style>
  62.  
    </head>
  63.  
    <body>
  64.  
     
  65.  
    <div class="container">
  66.  
    <div class="register-wrap">
  67.  
    <h1>注册</h1>
  68.  
    <form>
  69.  
    <div class="form-control">
  70.  
    <label for="username">账号</label>
  71.  
    <input type="text" id="username" placeholder="账号设置在6-8位数字,不能包含有admin字段"/>
  72.  
    </div>
  73.  
    <div class="form-control">
  74.  
    <label for="password">密码</label>
  75.  
    <input type="password" id="password" placeholder="密码设置在6-8位数字,不能包含有admin字段"/>
  76.  
    </div >
  77.  
    <div class="form-control">
  78.  
    <label>性别</label>
  79.  
    <input type="radio" name="sex"/>
  80.  
    <input type="radio" name="sex"/>
  81.  
    </div>
  82.  
    <div class="form-control">
  83.  
    <label>爱好</label>
  84.  
    <input type="checkbox" name="sport" value="1"/>蓝球
  85.  
    <input type="checkbox" name="sport" value="2"/>羽毛球
  86.  
    <input type="checkbox"name="sport" value="3"/>足球
  87.  
    </div>
  88.  
    <div class="form-control">
  89.  
    <label>住址</label>
  90.  
    <select>
  91.  
    <option value="0">请选择住址</option>
  92.  
    <option value="1">湖北</option>
  93.  
    <option value="2">湖南</option>
  94.  
    <option value="3">新疆</option>
  95.  
    <option value="4">西藏</option>
  96.  
    </select>
  97.  
    </div>
  98.  
    <div class="form-control">
  99.  
    <label>自我介绍</label>
  100.  
    <textarea id="iner" class="texta"></textarea>
  101.  
    </div>
  102.  
     
  103.  
    <div class="form-control">
  104.  
    <input type="button" id="subnit" value="提交"/>
  105.  
    </div>
  106.  
    <div>
  107.  
    <div id="errorInfo" class="errorInfo"">错误提示</div>
  108.  
    </div>
  109.  
    </form>
  110.  
    </div>
  111.  
    </div>
  112.  
    <script>
  113.  
    document.getElementById('subnit').onclick = function(e) {
  114.  
    e.preventDefault();
  115.  
     
  116.  
    let username = document.getElementById('username').value;
  117.  
    let password = document.getElementById('password').value;
  118.  
    let errorInfo = document.getElementById('errorInfo');
  119.  
     
  120.  
    if(username.length < 6 || username.length>10) {
  121.  
    errorInfo.innerText = "账号长度应当在6~8之间";
  122.  
    errorInfo.style.display = "block";
  123.  
    }
  124.  
    else if(username.toLocaleLowerCase().includes("admin")) {
  125.  
    errorInfo.innerText="不能包含admin这个字段";
  126.  
    errorInfo.style.display = "block";
  127.  
    }
  128.  
    else if(password.length<6 || password.length>8) {
  129.  
    errorInfo.innerText="密码长度应当6~8之间";
  130.  
    errorInfo.style.display = "block";
  131.  
    }
  132.  
    else if(password.charAt(password.length-1) !== "*") {
  133.  
    errorInfo.innerText="密码的最后一位必须是*";
  134.  
    errorInfo.style.display = "block";
  135.  
    }else {
  136.  
    errorInfo.innerText="注册成功";
  137.  
    }
  138.  
    }
  139.  
    </script>
  140.  
    </body>
  141.  
    </html>
学新通

本期博客到这里就结束了,感谢你的阅读。

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbcifi
系列文章
更多 icon
同类精品
更多 icon
继续加载