zoukankan      html  css  js  c++  java
  • Bootstrap笔记——注册页面实现

    1.思路

    (1)注册页面风格与登录页面相同

    (2)注册界面与登录界面放置在一个html文件中,使用jqeruy进行切换

    2.在登录界面的基础上进行修改

    https://www.cnblogs.com/YorkZhangYang/p/12538576.html

    3.jQuery中tab标签切换例子

    https://www.cnblogs.com/YorkZhangYang/p/12674859.html

    4.根据以上第3点的例子,对登录页面进行修改

    (1)页面结构

     (2)复制一个登录的form修改为注册,添加几个文本框

    (3)修改CSS样式

    (4)添加jQuery样式切换代码

    5.代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>注册登录界面
        </title>
         <!-- Bootstrap -->
         <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
         <script src="js/jquery-3.4.1.js"></script>
    <style>
    
        .bg{
            height: 600px;
            background-image:url(images/bg.jpg);
            background-size:cover;
           
        }
    
    
    
        .form{
           background: rgba(240,240,240,0.2);
           margin-top: 110px;
        margin-left: 37%;
         378px;
    }
     
        
        
       .footer{
        height: 60px;
        padding-top:50px; 
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        clear: both;
       }
       
       .title{
         height: 40px;
         line-height: 40px;
         margin-bottom: 10px;
         background-color:transparent;
         
       }
    
       .row.title span{
         font-size: 16px;
         color: #494949;
         font-weight: bolder;
         /* 转换为并排的块 */
         display:inline-block;
         text-align: center;
         /* 左右填充满 */
         /* padding: 0 68px */
          49%;
         
       }
       
    
       span.tab_active{
          color: white!important; 
          background-color:#52ad61;
          border-bottom: 2px solid #fff;
       }
    
     
       .formcontent
       {
        padding: 20px 10px;
       }
     
    </style>
        </head>
    <body>
        <div class="page-header">
            <h1>XXXX信息系统登录注册界面</h1>
       </div>
          <div class="container-fluid">
           
            <div class="row bg">
    
              <div class="col-md-4 form">
                <div class="row title">
                 <span class="tab_active">登&nbsp;&nbsp;&nbsp;&nbsp;录</span>
                 <span style="float: right;">注&nbsp;&nbsp;&nbsp;&nbsp;册</span>
               </div>
                <div class="formcontent">
                  <!-- 登录框 -->
                <form class="form-horizontal" id="loginForm" action="adminindex.html">
                    <div class="form-group">
                      <label for="username" class="col-sm-4 control-label">用户名</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="username" placeholder="请输入用户名" onblur="validateusername();">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="password" class="col-sm-4 control-label">密码</label>
                      <div class="col-sm-8">
                        <input type="password" class="form-control" id="password" placeholder="请输入密码">
                      </div>
                    </div>
                    <div class="form-group">
                        <label for="validateCode" class="col-sm-4 control-label">验证码</label>
                        <div class="col-sm-4">
                          <input type="text" class="form-control" id="validateCode" placeholder="请输入验证码">
                        </div>
                        <div class="col-sm-4">
                            <img src="images/yzm.jpg" alt="" width="75px" height="35px">
                          </div>
                      </div>
                    <div class="form-group">
                      <div class="col-sm-offset-2 col-sm-10">
                        <div class="checkbox">
                          <label>
                            <input type="checkbox" name="remember">记住我
                          </label>
                        </div>
                      </div>
                    </div>
                    <div class="form-group">
                      <div class="col-sm-offset-2 col-sm-10">
                        <button type="button" id="submitBtn" class="btn btn-success" style=" 50%;" >登录</button>
                      </div>
                    </div>
                  </form>
                  <!-- 注册框 -->
                  <form class="form-horizontal" id="registerForm" action="" style="display: none;">
                    <div class="form-group">
                      <label for="rusername" class="col-sm-4 control-label">用户名</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="rusername" placeholder="请输入用户名" onblur="validateusername();">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="rpassword" class="col-sm-4 control-label">密码</label>
                      <div class="col-sm-8">
                        <input type="password" class="form-control" id="rpassword" placeholder="请输入密码">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="rrpassword" class="col-sm-4 control-label">确认密码</label>
                      <div class="col-sm-8">
                        <input type="password" class="form-control" id="rrpassword" placeholder="请输入确认密码">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="remail" class="col-sm-4 control-label">邮箱</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="remail" placeholder="请输入邮箱">
                      </div>
                    </div>    
                    <div class="form-group">
                      <label for="rtel" class="col-sm-4 control-label">电话</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="rtel" placeholder="请输入电话">
                      </div>
                    </div>                              
    
                    <div class="form-group">
                        <label for="rvalidateCode" class="col-sm-4 control-label">验证码</label>
                        <div class="col-sm-4">
                          <input type="text" class="form-control" id="rvalidateCode" placeholder="请输入验证码">
                        </div>
                        <div class="col-sm-4">
                            <img src="images/yzm.jpg" alt="" width="75px" height="35px">
                          </div>
                      </div>
    
                    <div class="form-group">
                      <div class="col-sm-offset-2 col-sm-10">
                        <button type="button" id="registerBtn" class="btn btn-success" style=" 50%;" >注册</button>
                      </div>
                    </div>
                  </form>
                </div>
                  <span style="color: red;" id="tip"></span>
              </div> 
            </div>
    
            <div class="footer">
                    <p>&copy;版权所有:XXXXX学院XX市XX大道XXX号</p>  
                    <p>邮编:530001联系邮箱:xxxxxxx@163.com</p> 
            </div>
          </div>
          <script>
            //首先获取表单的Input对象
            let username = document.getElementById("username");
            let password = document.getElementById("password");
            let validateCode = document.getElementById("validateCode");
            let span = document.getElementById("tip");
            let submitBtn = document.getElementById("submitBtn");
            console.log(validateCode);
           
    
            password.onblur = function()
            {
              validatepassword();
            }
            
            validateCode.onblur = function()
            {
              validatecode();
            }
    
            function validateusername()
            {
               let value = username.value;
               if(!value)
               {
                  span.innerHTML="用户名不能为空";
                  return false;
               }
               else if(value.length<2||value.length>11)
               {
                span.innerHTML="用户名的长度2-12位";
                  return false;
               }
               else{
                span.innerHTML="";
                  return true;
               }
    
            }
    
            function validatepassword()
            {
               let value = password.value;
               if(!value)
               {
                  span.innerHTML="密码不能为空";
                  return false;
               }
               else if(value.length<2||value.length>11)
               {
                span.innerHTML="密码的长度2-12位";
                  return false;
               }
               else{
                  span.innerHTML="";
                  return true;
               }
    
            }
    
            function validatecode()
            {
               let value = validateCode.value;
               if(!value)
               {
                  span.innerHTML="验证码不能为空";
                  return false;
               }
               
               else{
                span.innerHTML="";
                  return true;
               }
    
            }
    
           submitBtn.onclick=function(){
             if(validateusername()&&validatepassword()&&validatecode())
             {
              //document.getElementById("loginForm").submit();
              let strName = username.value;
              let strPwd = $("#password").val();
              let strCode = validateCode.value;
              //获取checkbox是否已选中
              let chkbox = $("input[name='remember']:checkbox").prop("checked");
              console.log(strName);
              console.log(strPwd);
              console.log(strCode);
              console.log(chkbox);
              $.ajax({
                url:"${pageContext.request.contextPath}/LoginServlet",//LoginTest/LoginServlet
                type:"post",
                dataType:"text",
                data:{username:strName,password:strPwd,validatecode:strCode,chkbox:chkbox},
                beforeSend:function(){
                     $("#tip").html("登录中.......");
                },
                success:function(data){  //是从servlet传回来的
                  $("#tip").html("登录成功!");
                  //window.location.url="";
                },
                error:function()
                {
                  $("#tip").html("登录失败!");
                }
                
              
              });
             }
           
           }
    
    // 注册验证
    
    
    
    
    
    // 登录注册切换
           $(function(){
            //点击切换
            $('span').click(function(){
                   $(this).addClass('tab_active').siblings().removeClass('tab_active');
                   var i = $(this).index();
                   $('.formcontent form').eq(i).css('display','block').siblings().css('display','none');
               });
    
           })
    
    
          </script>   
    
    
    
           <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
           <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
           <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
           <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
    </body>
    </html>
    View Code

    6.效果图

    7.存在的问题

    (1)登录框无法居中,div class="col-md-4 form"块设置宽度后,设置margin:0 auto无法居中。

    (2)注册span元素后面空出一点,使用span style="float: right;"的笨办法解决。

    (3)注册js验证未做,js代码较多,应提取出来单独成一个文件。

    转载文章链接已标明,如有侵权请告知。文章仅作为知识记忆所用,如有错误,敬请指正。
  • 相关阅读:
    12306是如何实现高流量高并发的关键技术
    阿里知名工程师
    侵入式和非侵入式的区别
    二叉树节点的最大距离
    2014阿里面经(转)
    jq checkbox的相关操作——全选、反选、获得所有选中的checkbox
    表现和数据分离的好处
    css3完成多边形
    程序员,如何从平庸走向理想?--转载
    js对象和字符串相互转换
  • 原文地址:https://www.cnblogs.com/YorkZhangYang/p/12688638.html
Copyright © 2011-2022 走看看