让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 相关文章推荐
收集的7个CSS3代码生成工具
Apr 17 HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
Jan 21 HTML / CSS
CSS3中的opacity属性使用教程
Aug 19 HTML / CSS
CSS3制作圆角图片和椭圆形图片
Jul 08 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
Jun 25 HTML / CSS
CSS3实现线性渐变用法示例代码详解
Aug 07 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
Mar 25 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
Mar 14 HTML / CSS
HTML5中FileReader接口使用方法实例详解
Aug 26 HTML / CSS
html5/css3响应式页面开发总结
Oct 16 HTML / CSS
html5使用canvas画三角形
Dec 15 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
Sep 21 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
浅析Python中的join()方法的使用
2015/05/19 Python
理解Python中的With语句
2016/03/18 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python中print和return的作用及区别解析
2019/05/05 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
荷兰本土平价百货:HEMA
2017/10/23 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
Java多态性的定义以及类型
2014/09/16 面试题
体育专业个人求职信范文
2013/12/27 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
草船借箭教学反思
2014/02/03 职场文书
园艺师求职信
2014/04/27 职场文书