让IE下支持Html5的placeholder属性的插件


Posted in HTML / CSS onSeptember 02, 2014

HTML5对Web Form做了许多增强,比如input新增的type类型、Form Validation等。

Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。以前要实现这效果都是用JavaScript来控制才能实现 , firefox、google chrome等表示对其支持 , 唯独IE存在违和感啊!

例如: <input id="t1" type="text" placeholder="请输入文字" />

介绍一个超强的让IE下支持placeholder的属性插件,同时也兼容其他不支持placeholder的浏览器,代码如下:

复制代码
代码如下:

$(document).ready(function(){
var doc=document,
inputs=doc.getElementsByTagName('input'),
supportPlaceholder='placeholder'in doc.createElement('input'),
placeholder=function(input){
var text=input.getAttribute('placeholder'),
defaultValue=input.defaultValue;
if(defaultValue==''){
input.value=text
}
input.onfocus=function(){
if(input.value===text)
{
this.value=''
}
};
input.onblur=function(){
if(input.value===''){
this.value=text
}
}
};
if(!supportPlaceholder){
for(var i=0,len=inputs.length;i<len;i++){
var input=inputs[i],
text=input.getAttribute('placeholder');
if(input.type==='text'&&text){
placeholder(input)
}
}
}
});

直接把代码复制下来,保存成一个js文件引用即可,不用再做任何处理,超级便利!

ex : 这样做的确能让IE的Input显示placeholder属性,但是如果页面上只有一个input还好,如果是多个input,如果出现input没有填入任何值的话,那么它的空input会自动将placeholder的值填进value里面,从而发生错误.例如:

复制代码
代码如下:

<input type="text" placeholder="输入商品编码" name="goodscode" id="goodscode" value="123" />
<input type="text" placeholder="输入商品名称" name="goodsname" id="goodsname" value="输入商品名称" />

解决办法就是在后台自己判断啦 , 也许能在上面的js文件里解决 , 以后再研究啦~!
HTML / CSS 相关文章推荐
css3截图_动力节点Java学院整理
Jul 11 HTML / CSS
一款纯css3实现的竖形二级导航的实例教程
Dec 11 HTML / CSS
HTML5实现表单自动验证功能实例代码
Jan 11 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
Jan 21 HTML / CSS
html5 利用canvas实现超级玛丽简单动画
Sep 06 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
Oct 22 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
Jan 03 HTML / CSS
处理textarea中的换行和空格
Dec 12 HTML / CSS
canvas简单连线动画的实现代码
Feb 04 HTML / CSS
Html5在手机端调用相机的方法实现
May 13 HTML / CSS
HTML+CSS制作心跳特效的实现
May 26 HTML / CSS
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
Jul 01 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
Sep 01 #HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
Sep 01 #HTML / CSS
html5定位获取当前位置并在百度地图上显示
Aug 22 #HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
Aug 22 #HTML / CSS
html5 更新图片颜色示例代码
Jul 29 #HTML / CSS
Html5 语法与规则简要概述
Jul 29 #HTML / CSS
html5桌面通知(Web Notifications)实例解析
Jul 07 #HTML / CSS
You might like
php csv操作类代码
2009/12/14 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
document.forms[].submit()使用介绍
2014/02/19 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
chrome调试javascript详解
2015/10/21 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
会计专业大学生职业生涯规划书
2014/02/11 职场文书
大学专科求职信
2014/07/02 职场文书
出国签证在职证明范本
2014/11/24 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
退休欢送会主持词
2015/07/01 职场文书
交通安全主题班会
2015/08/12 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android