讓IE下支持Html5的placeholder屬性的插件
發(fā)布時(shí)間:2014-09-02 16:07:11 作者:佚名
我要評(píng)論

Placeholder是HTML5新增的另一個(gè)屬性,當(dāng)input或者textarea設(shè)置了該屬性后,該值的內(nèi)容將作為灰字提示顯示在文本框中,當(dāng)文本框獲得焦點(diǎn)時(shí),提示文字消失
HTML5對(duì)Web Form做了許多增強(qiáng),比如input新增的type類型、Form Validation等。
Placeholder是HTML5新增的另一個(gè)屬性,當(dāng)input或者textarea設(shè)置了該屬性后,該值的內(nèi)容將作為灰字提示顯示在文本框中,當(dāng)文本框獲得焦點(diǎn)時(shí),提示文字消失。以前要實(shí)現(xiàn)這效果都是用JavaScript來控制才能實(shí)現(xiàn) , firefox、google chrome等表示對(duì)其支持 , 唯獨(dú)IE存在違和感啊!
例如: <input id="t1" type="text" placeholder="請(qǐng)輸入文字" />
介紹一個(gè)超強(qiáng)的讓IE下支持placeholder的屬性插件,同時(shí)也兼容其他不支持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)
}
}
}
});
直接把代碼復(fù)制下來,保存成一個(gè)js文件引用即可,不用再做任何處理,超級(jí)便利!
ex : 這樣做的確能讓IE的Input顯示placeholder屬性,但是如果頁面上只有一個(gè)input還好,如果是多個(gè)input,如果出現(xiàn)input沒有填入任何值的話,那么它的空input會(huì)自動(dòng)將placeholder的值填進(jìn)value里面,從而發(fā)生錯(cuò)誤.例如:
<input type="text" placeholder="輸入商品編碼" name="goodscode" id="goodscode" value="123" />
<input type="text" placeholder="輸入商品名稱" name="goodsname" id="goodsname" value="輸入商品名稱" />
解決辦法就是在后臺(tái)自己判斷啦 , 也許能在上面的js文件里解決 , 以后再研究啦~!
Placeholder是HTML5新增的另一個(gè)屬性,當(dāng)input或者textarea設(shè)置了該屬性后,該值的內(nèi)容將作為灰字提示顯示在文本框中,當(dāng)文本框獲得焦點(diǎn)時(shí),提示文字消失。以前要實(shí)現(xiàn)這效果都是用JavaScript來控制才能實(shí)現(xiàn) , firefox、google chrome等表示對(duì)其支持 , 唯獨(dú)IE存在違和感啊!
例如: <input id="t1" type="text" placeholder="請(qǐng)輸入文字" />
介紹一個(gè)超強(qiáng)的讓IE下支持placeholder的屬性插件,同時(shí)也兼容其他不支持placeholder的瀏覽器,代碼如下:
復(fù)制代碼
代碼如下:$(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)
}
}
}
});
直接把代碼復(fù)制下來,保存成一個(gè)js文件引用即可,不用再做任何處理,超級(jí)便利!
ex : 這樣做的確能讓IE的Input顯示placeholder屬性,但是如果頁面上只有一個(gè)input還好,如果是多個(gè)input,如果出現(xiàn)input沒有填入任何值的話,那么它的空input會(huì)自動(dòng)將placeholder的值填進(jìn)value里面,從而發(fā)生錯(cuò)誤.例如:
復(fù)制代碼
代碼如下:<input type="text" placeholder="輸入商品編碼" name="goodscode" id="goodscode" value="123" />
<input type="text" placeholder="輸入商品名稱" name="goodsname" id="goodsname" value="輸入商品名稱" />
解決辦法就是在后臺(tái)自己判斷啦 , 也許能在上面的js文件里解決 , 以后再研究啦~!
相關(guān)文章
- 這篇文章主要為大家詳細(xì)介紹了HTML5 placeholder屬性,placeholder屬性能夠讓你在文本框里顯示提示信息,感興趣的小伙伴們可以參考一下2016-06-22
- html 5有個(gè)很棒的屬性,placeholder,但是在不支持html5的低版本的瀏覽器中,因此要人為的去實(shí)現(xiàn)placeholder屬性,下面有個(gè)示例,感興趣的朋友可以參考下2014-06-30
HTML 5 input placeholder 屬性如何完美兼任ie
這篇文章主要介紹了HTML 5 input placeholder 屬性完美兼任ie的方法,需要的朋友可以參考下2014-05-12- 瀏覽器引入了許多的HTML5 特性其中我最喜歡的一個(gè)就是為input元素引入了placeholder屬性,placeholder屬性顯示引導(dǎo)性文字直到輸入框獲取輸入焦點(diǎn),當(dāng)有了用戶輸入內(nèi)容后引導(dǎo)2013-08-07
限制html文本框input只能輸入數(shù)字和小數(shù)點(diǎn)
本文主要介紹了限制html文本框input只能輸入數(shù)字和小數(shù)點(diǎn)的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-27使一個(gè)input文本框隨其中內(nèi)容而變化長度的方法
這篇文章主要介紹了如何使一個(gè)input文本框隨其中內(nèi)容長度變化而變化長度,實(shí)現(xiàn)原理很簡單,大家看過之后就知道了2014-04-08使用placeholder屬性設(shè)置input文本框的提示信息
這篇文章主要介紹了使用placeholder屬性設(shè)置input文本框的提示信息,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-19