MyException - 我的异常网
当前位置:我的异常网» JavaScript » JavaScript学习——完美注册页面表单校验

JavaScript学习——完美注册页面表单校验

www.MyException.Cn  网友分享于:2013-09-28  浏览:0次
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>

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

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

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

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

文章评论

如何成为一名黑客
如何成为一名黑客
Java程序员必看电影
Java程序员必看电影
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
鲜为人知的编程真相
鲜为人知的编程真相
中美印日四国程序员比较
中美印日四国程序员比较
为什么程序员都是夜猫子
为什么程序员都是夜猫子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
老程序员的下场
老程序员的下场
程序员应该关注的一些事儿
程序员应该关注的一些事儿
代码女神横空出世
代码女神横空出世
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
 程序员的样子
程序员的样子
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
漫画:程序员的工作
漫画:程序员的工作
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
我是如何打败拖延症的
我是如何打败拖延症的
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员都该阅读的书
程序员都该阅读的书
每天工作4小时的程序员
每天工作4小时的程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
程序员必看的十大电影
程序员必看的十大电影
10个调试和排错的小建议
10个调试和排错的小建议
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
旅行,写作,编程
旅行,写作,编程
我的丈夫是个程序员
我的丈夫是个程序员
程序员的鄙视链
程序员的鄙视链
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
那些争议最大的编程观点
那些争议最大的编程观点
一个程序员的时间管理
一个程序员的时间管理
编程语言是女人
编程语言是女人
程序员和编码员之间的区别
程序员和编码员之间的区别
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有