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 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
动态表格Table类的实现
Aug 26 Javascript
js静态方法与实例方法分析
Jul 04 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
dreamweaver 8实现Jquery自动提示
Dec 04 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
javascript中 try catch用法
Aug 16 Javascript
javaScript事件机制兼容【详细整理】
Jul 23 Javascript
文件上传的几个示例分享【推荐】
Dec 16 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 Javascript
layui 弹出层值回传解决方式
Nov 14 Javascript
JS控制只能输入数字并且最多允许小数点两位
Nov 24 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 array_flip() 删除数组重复元素
2009/01/14 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP抽象类 介绍
2012/06/13 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
QML使用Python的函数过程解析
2019/09/26 Python
Python @property及getter setter原理详解
2020/03/31 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
Marmot土拨鼠官网:美国专业户外运动品牌
2018/01/11 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
自荐信的五个重要部分
2013/10/29 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
Django框架模板用法详解
2022/06/10 Python