js实现表单检测及表单提示的方法


Posted in Javascript onAugust 14, 2015

本文实例讲述了js实现表单检测及表单提示的方法。分享给大家供大家参考。具体如下:

这是个实用的表单判断以及表单提示效果,如果点击需要输入文字的时候,提示就会跑出来,提示框的形状比较个性化,有一个三角符号指向输入框,有两张图片需要下载。

运行效果如下图所示:

js实现表单检测及表单提示的方法

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>表单检测及表单提示</title>
<style type="text/css">
dl {
font:normal 12px/15px Arial;
position: relative;
width: 350px;
}
dt {
 clear: both;
 float:left;
 width: 130px;
 padding: 4px 0 2px 0;
 text-align: left;
}
dd {
 float: left;
 width: 200px;
 margin: 0 0 8px 0;
 padding-left: 6px;
}
.hint {
 display: none;
 position: absolute;
 right: -250px;
 width: 200px;
 margin-top: -4px;
 border: 1px solid #c93;
 padding: 10px 12px;
 background: #ffc url("images/pointer.gif") no-repeat -10px 5px;
}
.hint .hint-pointer {
 position: absolute;
 left: -10px;
 top: 5px;
 width: 10px;
 height: 19px;
 background: url("images/pointer.gif") left top no-repeat;
}
</style>
<script type="text/javascript">
function addLoadEvent(func) {
 var oldonload = window.onload;
 if (typeof window.onload != 'function') {
 window.onload = func;
 } else {
 window.onload = function() {
  oldonload();
  func();
 }
 }
}
function prepareInputsForHints() {
 var inputs = document.getElementsByTagName("input");
 for (var i=0; i<inputs.length; i++){
  if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
   inputs[i].onfocus = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
   }
   inputs[i].onblur = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
   }
  }
 }
 var selects = document.getElementsByTagName("select");
 for (var k=0; k<selects.length; k++){
  if (selects[k].parentNode.getElementsByTagName("span")[0]) {
   selects[k].onfocus = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
   }
   selects[k].onblur = function () {
    this.parentNode.getElementsByTagName("span")[0].style.display = "none";
   }
  }
 }
}
addLoadEvent(prepareInputsForHints);
</script>
</head>
<body>
<p style="font:normal 12px/15px Arial;">Tab or click through the fields to reveal the hints.</p>
<dl>
 <dt>
  <label for="firstname">First Name:</label>
 </dt>
 <dd>
  <input name="firstname" id="firstname" type="text" />
  <span class="hint">This is the name your mama called you when you were little.<span class="hint-pointer"> </span></span>
 </dd>
 <dt>
  <label for="lastname">Last Name:</label>
 </dt>
 <dd>
  <input name="lastname" id="lastname" type="text" />
  <span class="hint">This is the name your sergeant called you when you went through bootcamp.<span class="hint-pointer"> </span></span>
 </dd>
 <dt>
  <label for="email">Email:</label>
 </dt>
 <dd>
  <input name="email" id="email" type="text" />
  <span class="hint">The thing with the @ symbol and the dot com at the end.<span class="hint-pointer"> </span></span>
 </dd>
 <dt><label for="year">Birth Year:</label></dt>
 <dd>
  <select id="year" name="year">
   <option value="">YYYY</option>
   <option value="1066">1066</option>
   <option value="1492">1492</option>
   <option value="1776">1776</option>
  </select>
  <span class="hint">Pick a famous year to be born in.<span class="hint-pointer"> </span></span>
 </dd>
 <dt>
  <label for="username">Username:</label>
 </dt>
 <dd>
  <input name="username" id="username" type="text" />
  <span class="hint">Between 4-12 characters.<span class="hint-pointer"> </span></span>
 </dd>
 <dt>
  <label for="password">Password:</label>
 </dt>
 <dd>
  <input name="password" id="password" type="password" />
  <span class="hint">Between 5-13 characters, but not 7. Never 7.<span class="hint-pointer"> </span></span>
 </dd>
 <dt class="button"> </dt>
 <dd class="button">
  <input
   type="submit"
   class="button"
   value="Submit" />
 </dd>
</dl>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 Javascript
AlertBox 弹出层信息提示框效果实现步骤
Oct 11 Javascript
angularJS结合canvas画图例子
Feb 09 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
Bootstrap Table使用心得总结
Nov 29 Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 Javascript
vue综合组件间的通信详解
Nov 06 Javascript
jQuery中的for循环var与let的区别
Apr 21 jQuery
layui实现点击按钮给table添加一行
Aug 10 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 Javascript
Element Backtop回到顶部的具体使用
Jul 27 Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
JavaScript中的this关键字使用详解
Aug 14 #Javascript
JS实现双击编辑可修改状态的方法
Aug 14 #Javascript
JavaScript变量的作用域全解析
Aug 14 #Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 #Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 #Javascript
详解jQuery中的元素的属性和相关操作
Aug 14 #Javascript
js实现人才网站职位选择功能的方法
Aug 14 #Javascript
You might like
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP实现文件下载详解
2014/11/27 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP静态成员变量
2017/02/14 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
Android面试题及答案
2015/09/04 面试题
优秀学生干部推荐材料
2014/02/03 职场文书
报关专员求职信范文
2014/02/22 职场文书
如何写好自荐信
2014/04/07 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
小学老师对学生的评语
2014/12/29 职场文书
文体活动总结
2015/02/04 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis