標籤:document 存在 art cti line 設定 get add default
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檔案中解決 , 以後再研究啦~!
歡迎交流 http://blog.csdn.net/ycwol/article/details/38925461
Html5的placeholder屬性(IE相容)