让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实现开门效果实例源码
Aug 22 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
Jul 03 HTML / CSS
CSS3 边框效果
Nov 04 HTML / CSS
简单聊聊H5的pushState与replaceState的用法
Apr 03 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 HTML / CSS
浅谈h5自定义audio(问题及解决)
Aug 19 HTML / CSS
详解HTML5 录音的踩坑之旅
Dec 26 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
Sep 12 HTML / CSS
移动端html5模拟长按事件的实现方法
Sep 30 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
Dec 19 HTML / CSS
总结html5自定义属性有哪些
Apr 01 HTML / CSS
Canvas如何做个雪花屏版404的实现
Sep 25 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 网页过期时间的控制代码
2009/06/29 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
jquery 图片轮换效果
2010/07/29 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
深入理解vue中的$set
2017/06/01 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
python实现隐马尔科夫模型HMM
2018/03/25 Python
python三引号输出方法
2019/02/27 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python 发送get请求接口详解
2020/11/17 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
《少年王勃》教学反思
2014/04/27 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫