很多瀏覽器不僅僅針對密碼輸入框(type=password)會有自動填充問題,文本框(type=text)有的也有自動填充問題,如最新的谷歌chrome瀏覽器,比如很多項目涉及到金額的輸入框,會自動將賬號填充到金額輸入框內。針對這個問題,可以通過js控制真正完美解決,就是稍微比較麻煩,可能會對項目有所影響,所以需要針對實際需求再對自動填充問題是否予以解決。
輸入框有一個readonly屬性,可以防止寫入,而自動填充是瀏覽器記住賬號密碼之后對輸入框的一種寫入功能,而且是打開頁面時的自動寫入,這之間需要一定的時間性,所以在瀏覽器自動寫入的這個時間段內將其設置readonly只讀,不讓其寫入,當瀏覽器自動填充時間段過了,再給予取消readonly即可完美解決瀏覽器自動填充功能,而且通過實踐,0.3秒的時間是不夠的,還會被瀏覽器自動填充,而我們項目是設置了1秒鍾的時間,完全可行。
輸入框html部分,增加readonly屬性
1 <input type="text" readonly="readonly"/>
輸入框jquery部分,1秒之后取消readonly屬性
1 setTimeout(function(){ 2 $("input").removeAttr("readonly"); 3 },1000);
寫的比較籠統,可以根據實際情況來進行處理,比如專門針對密碼輸入框的$("input[type='password']").removeAttr("readonly");