input的type屬性的修改


記錄一下成長的歷程吧!

剛開始寫,沒什么文筆,也沒什么技術含量,可能主要的是紀錄一下平常工作學習中遇到的問題,以及解決的辦法吧。或者只有問題,沒有解決辦法。

前兩天項目中遇到的一個問題,由於之前一直沒有在ie瀏覽器校驗過登陸密碼,所以一直沒遇到過。

 

問題描述:

由於placeholder是html5的新屬性,只有支持了html5的瀏覽器才支持placeholder,目前最新的firefox、chrome、safari以及ie10都支持,ie6到ie9都不支持。

所以在IE6-9上面如果是密碼輸入框的話,並且有類似於“請輸入密碼”這樣的占位符提示的話,就需要將input屬性type在text和password之間不停的來回切換。

但是在jquery中,“type屬性是 read/write-once 的,只在初始化時set”,所以無法通過$(ele).attr(‘type’, ‘password’)來修改,那么原生js呢?依然是在ie下不支持document.getElementById(id).type = ‘password’,所以原則上就只能逼迫換個思路來解決問題。

頁面中寫入兩個input

<input type="password" data-holder="密碼" style="display:none;">

<input type="text" value="密碼" data-holder="密碼">

初始化時,將type=passwordinput隱藏,當獲取input[type=’text’]焦點時,將自己隱藏,顯示type=passwordinput,並獲取焦點,失去焦點時,進行相反的過程。直接上代碼。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM