Html5的placeholder屬性(IE相容)

來源:互聯網
上載者:User

標籤: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相容)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.