让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结构性伪类选择器九种写法
Apr 18 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
Aug 13 HTML / CSS
html5服务器推送_动力节点Java学院整理
Jul 12 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
Jul 09 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
Aug 22 HTML / CSS
html5构建触屏网站之touch事件介绍
Jan 07 HTML / CSS
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
Feb 28 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
May 19 HTML / CSS
HTML5 Blob对象的具体使用
May 22 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
Jan 05 HTML / CSS
CSS中em的正确打开方式详解
Apr 08 HTML / CSS
CSS中实现动画效果-附案例
Feb 28 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中函数rand和mt_rand的区别比较
2012/12/26 PHP
深入php数据采集的详解
2013/06/02 PHP
php之curl设置超时实例
2014/11/03 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
浅析Python中的序列化存储的方法
2015/04/28 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
Python版中国省市经纬度
2020/02/11 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
培训主管的职业生涯规划
2014/03/06 职场文书
材料会计岗位职责
2014/03/06 职场文书
教师个人自我评价范文
2014/04/13 职场文书
高中教师评语大全
2014/04/25 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书