大家都知道autocomplete屬性是表單字段中的HTML5新屬性,該屬性有兩種狀態值,分別為"on" 和 "off",該屬性可省略:省略屬性值后默認值為"on",也可以省略屬性名,直接寫入關鍵字on或off。
網站項目中,有登錄和注冊的彈框,在除chrome的瀏覽器中一切都ok,一旦在谷歌瀏覽器中,問題來了:
首先從登錄彈框中登陸成功,chrome會彈出是否保存密碼的提示框,點擊保存密碼按鈕,
然后接着退出賬戶,
這時打開注冊彈框,你會發現注冊彈框中用戶名和密碼也被默認填寫進去了(登錄彈框中默認填寫進去符合邏輯),
這現象就詭異了,開始各種查,cookie,本地緩存,等等,都解決不了這問題;
查閱后,很多沒有這個的解決方案。
1 通常我們會在form表單上加入autocomplete="off" 或者 在輸入框中加入autocomplete="off"
2 但是有一種情況例外,就是表單中有input[type="password"],點擊保存密碼后,在Chrome瀏覽器則自動填充了用戶名和密碼的輸入框;為了統一樣式,我們需要就對Chrome的問題經行單獨處理。
總結了3種解決方案,如下:
1 修改value值(目前已失效,隨着chrome版本的升級,現今版本已不再能獲取到value值了,所以無法對其進行操作,貌似chrome自動填充的表單的value值是存在 DocumentFragment里的div中的,暫不知道怎么去處理,等待大神告知)
2 修改disabled屬性
3 去除輸入框的name和id屬性