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 相关文章推荐
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
Feb 02 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
Aug 18 Javascript
JS中改变this指向的方法(call和apply、bind)
Mar 26 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
jQuery获取父元素及父节点的方法小结
Apr 14 Javascript
jQuery事件用法详解
Oct 06 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
vue-cli扩展多模块打包的示例代码
Apr 09 Javascript
vue v-on:click传递动态参数的步骤
Sep 11 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缓存技术介绍
2006/11/25 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
javascript实现抽奖程序的简单实例
2016/06/07 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
python实现文件的备份流程详解
2019/06/18 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
python 监控logcat关键字功能
2020/09/04 Python
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
师范生自我鉴定
2014/03/20 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
合同补充协议书
2016/03/24 职场文书