js修改input的type屬性有些限制。當input元素還未插入文件流之前,是可以修改它的值的,在ie和ff下都沒問題。但如果input已經存在於頁面,其type屬性在ie下就成了唯讀屬性了,不可以修改。在ff下仍是可讀寫屬性。
今天遇到個問題,輸入框有預設值“密碼”,但獲得焦點時,“密碼”兩字會去掉,輸入時直接變成”****“的password類型。很明顯,一開始的時候,input的類型是text,後來變成了password類型。直覺的想法是用js修改input的type類型。但ie下這麼做不可行,所以只能換個思路,寫兩個input,一個text類型,一個password類型,分得監聽onfocus和onblur事件。如下: