DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5詳解 >> 讓IE下支持Html5的placeholder屬性的插件
讓IE下支持Html5的placeholder屬性的插件
編輯:HTML5詳解     
Placeholder是Html5新增的另一個屬性,當input或者textarea設置了該屬性後,該值的內容將作為灰字提示顯示在文本框中,當文本框獲得焦點時,提示文字消失 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文件裡解決 , 以後再研究啦~!
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved