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 相关文章推荐
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
Feb 25 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
基于javascript的异步编程实例详解
Apr 10 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
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
中东人咖啡哲学
2021/03/03 咖啡文化
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
PHP中的session安全吗?
2016/01/22 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
批处理与python代码混合编程的方法
2016/05/19 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
检察官就职演讲稿
2014/01/13 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
安全生产年活动总结
2014/08/29 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
升学宴学生致辞
2015/09/29 职场文书
大队委员竞选稿
2015/11/20 职场文书
员工工作心得体会
2019/05/07 职场文书
Python保存并浏览用户的历史记录
2022/04/29 Python
java版 简单三子棋游戏
2022/05/04 Java/Android