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 相关文章推荐
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
Nov 14 Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
JS中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
JavaScript中按位“异或”运算符使用介绍
Mar 14 Javascript
Angular4表单验证代码详解
Sep 03 Javascript
前端把html表格生成为excel表格的实例
Sep 19 Javascript
Vue render深入开发讲解
Apr 13 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
详解webpack4.x之搭建前端开发环境
Mar 28 Javascript
小程序如何构建骨架屏
May 29 Javascript
es6函数之尾调用优化实例分析
Apr 25 Javascript
从表单校验看JavaScript策略模式的使用详解
Oct 17 Javascript
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变量可用字符
2014/05/28 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
Python正则简单实例分析
2017/03/21 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
消防先进事迹材料
2014/02/10 职场文书
药店主任岗位责任制
2014/02/10 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
购房意向书范本
2014/04/01 职场文书
中秋手机店促销方案
2014/06/16 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
django 认证类配置实现
2021/11/11 Python