zoukankan      html  css  js  c++  java
  • JavaScript学习——完善注册页面表单校验

    1、之前我们已经使用弹出框的方式实现了表单校验的功能,但是此种方式用户体验效果很差

    我们希望做成把提示信息和校验结果放在输入栏的后面。

    2、步骤分析 (此案例基于HTML&CSS——网站注册页面实现的)

    第一步:确定事件(onfocus 聚焦事件)并为其绑定一个函数

    第二步:书写绑定函数(在输入框的后面给出提示信息)

    第三步:确定事件(onblur 离焦事件)并为其绑定一个函数

    第四步:书写函数(对数据进行校验,分别给出提示)

    JS代码:(传入参数的目的减少重复代码,增加通用性)

     1 <script>
     2        function showTips(id,info){
     3                 document.getElementById(id+"span").innerHTML="<font color='gray'>"+info+"</font>";
     4             }
     5             function check(id,info){
     6                 //1.获取用户输入的用户名数据
     7                 var uValue=document.getElementById(id).value;
     8                 //2.进行校验
     9                 if(uValue==""){
    10                     document.getElementById(id+"span").innerHTML="<font color='red'>"+info+"</font>";
    11                 }else{
    12                     document.getElementById(id+"span").innerHTML="";
    13                 }
    14             }
    15 </script>

    HTML代码:

    <input type="text" name="user" size="35px" id="user" onfocus="showTips('user','用户名必填!')" onblur="check('user','用户名不能为空!')"/><span id="userspan"></span>

    最终代码如下:

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="UTF-8">
      5         <title>注册页面</title>
      6         <script>
      7             function showTips(id,info){
      8                 document.getElementById(id+"span").innerHTML="<font color='gray'>"+info+"</font>";
      9             }
     10             function check(id,info){
     11                 //1.获取用户输入的用户名数据
     12                 var uValue=document.getElementById(id).value;
     13                 //2.进行校验
     14                 if(uValue==""){
     15                     document.getElementById(id+"span").innerHTML="<font color='red'>"+info+"</font>";
     16                 }else{
     17                     document.getElementById(id+"span").innerHTML="";
     18                 }
     19             }
     20         </script>
     21     </head>
     22     <body>
     23         <table border="1px" align="center" width="1300px" cellpadding="0px" cellspacing="0px">
     24             
     25             <!--1.logo部分-->
     26             <tr>
     27                 <td>
     28                     <!--嵌套一个一行三列的表格-->
     29                     <table border="1px" width="100%">
     30                         <tr height="50px">
     31                             <td width="33.3%">
     32                                 <img src="../img/logo2.png" height="47px" />
     33                             </td>
     34                             <td width="33.3%">
     35                                 <img src="../img/header.png" height="47px"/>
     36                             </td>
     37                             <td width="33.3%">
     38                                 <a href="#">登录</a>
     39                                 <a href="#">注册</a>
     40                                 <a href="#">购物车</a>
     41                             </td>
     42                         </tr>
     43                     </table>
     44                 </td>
     45             </tr>
     46             
     47             <!--2.导航栏部分-->
     48             <tr height="50px" >
     49                 <td bgcolor="black">
     50                     <a href="#"><font size="3" color="white">首页</font></a>&nbsp; &nbsp; &nbsp; &nbsp;                
     51                     <a href="#"><font color="white">手机数码</font></a> &nbsp; &nbsp; &nbsp; &nbsp;
     52                     <a href="#"><font color="white">电脑办公</font></a>&nbsp; &nbsp; &nbsp; &nbsp;
     53                     <a href="#"><font color="white">鞋靴箱包</font></a>&nbsp; &nbsp; &nbsp; &nbsp;
     54                     <a href="#"><font color="white">家用电器</font></a>
     55                 </td>
     56             </tr>
     57             
     58             <!--3.注册表单-->
     59             <tr>
     60                 <td height="600px" background="../img/regist_bg.jpg">
     61                     <!--嵌套一个十行二列的表格-->
     62                     <form action="#" method="get" name="regForm" onsubmit="return checkForm()">
     63                     <table border="1px" width="750px" height="400px" align="center" cellpadding="0px" cellspacing="0px" bgcolor="white">
     64                         <tr height="40px">
     65                             <td colspan="2">
     66                                 <font size="4">会员注册</font>&nbsp;&nbsp;&nbsp;USER REGISTER
     67                             </td>
     68                         </tr>
     69                         <tr>
     70                             <td>用户名</td>
     71                             <td>
     72                                 <input type="text" name="user" size="35px" id="user" onfocus="showTips('user','用户名必填!')" onblur="check('user','用户名不能为空!')"/><span id="userspan"></span>
     73                             </td>
     74                         </tr>
     75                         <tr>
     76                             <td>密码</td>
     77                             <td>
     78                                 <input type="password" name="password"  size="35px" id="password" onfocus="showTips('password','密码必填!')" onblur="check('password','密码不能为空!')"/><span id="passwordspan"></span>
     79                             </td>
     80                         </tr>
     81                         <tr>
     82                             <td>确认密码</td>
     83                             <td>
     84                                 <input type="password" name="repassword" size="35px" id="repassword"/>
     85                             </td>
     86                         </tr>
     87                         <tr>
     88                             <td>E-mail</td>
     89                             <td>
     90                                 <input type="text" name="e-mail" size="35px" id="email"/>
     91                             </td>
     92                         </tr>
     93                         <tr>
     94                             <td>姓名</td>
     95                             <td>
     96                                 <input type="text" name="username" size="35px"/>
     97                             </td>
     98                         </tr>
     99                         <tr>
    100                             <td>性别</td>
    101                             <td>
    102                                 <input type="radio" name="sex" value="男"/>103                                 <input type="radio" name="sex" value="女"/>104                             </td>
    105                         </tr>
    106                         <tr>
    107                             <td>出生日期</td>
    108                             <td>
    109                                 <input type="text" name="birthday" size="35px"/>
    110                             </td>
    111                         </tr>
    112                         <tr>
    113                             <td>验证码</td>
    114                             <td>
    115                                 <input type="text" name="yzm" />
    116                                 <img src="../img/yanzhengma.png" />
    117                             </td>
    118                         </tr>
    119                         <tr align="center">
    120                             <td colspan="2">
    121                                 <input type="submit" value="注册" />
    122                             </td>
    123                         </tr>
    124                     </table>
    125                     </form>
    126                 </td>
    127             </tr>
    128             
    129             <!--4.广告图片-->
    130             <tr>
    131                 <td>
    132                     <img src="../img/footer.jpg"  width="100%"/>
    133                 </td>
    134             </tr>
    135             
    136             <!--5.友情链接和版权信息-->
    137             <tr>
    138                 <td align="center">
    139                     <a href="#"><font>关于我们</font></a>
    140                     <a href="#"><font>联系我们</font></a>
    141                     <a href="#"><font>招贤纳士</font></a>
    142                     <a href="#"><font>法律声明</font></a>
    143                     <a href="#"><font>友情链接</font></a>
    144                     <a href="#"><font>支付方式</font></a>
    145                     <a href="#"><font>配送方式</font></a>
    146                     <a href="#"><font>服务声明</font></a>
    147                     <a href="#"><font>广告声明</font></a>
    148                     <p>
    149                         Copyright © 2005-2016 hh商城 版权所有 
    150                     </p>
    151                 </td>
    152             </tr>
    153         </table>
    154     </body>
    155 </html>

    在浏览器内运行,效果如下:

    光标点击到用户名输入框,提示用户名必填!

    当用户名未输入内容时提示不能为空!

    当填写都正确时则不提示。

  • 相关阅读:
    【APP问题定位(三)】adb安装
    【APP问题定位(一)】夜神模拟器安装及问题
    selenium_Alert
    selenium-iframe操作
    Python+selenium打开网页
    selenium 之 ActionChains (二)
    PyCharm汉化、破解教程
    selenim之ActionChains(一)
    C#连接数据库以及增、删、改、查操作
    C#飞行棋游戏
  • 原文地址:https://www.cnblogs.com/cxq1126/p/7398125.html
Copyright © 2011-2022 走看看