2009-11-01 162 views
1

我有一個簡單的文本和密碼輸入,默認的用戶名和密碼填寫。如果我將焦點放在文字輸入上,然後取消焦點,則由於某種原因它會刪除我的密碼輸入。這似乎只發生在Firefox上。我認爲這將是我周圍的代碼,但我想沒有運氣的一切移動到一個空白頁,並剝奪一切梗概:奇怪的輸入文本和輸入密碼擦除默認輸入密碼

<form> 
<input type="text" value="username" /> 
<input type="password" value="password" /> 
</form> 

有幾件事情,我注意到了也不要緊什麼價值我更改用戶名和密碼,我仍然遇到這個問題。如果我刪除開始窗體標記,則此問題會消失。如果我交換它並且先輸入密碼,然後輸入用戶名,那麼它將起作用......另一個奇怪的是,如果我從我的操作系統路徑運行此文件,問題也會消失。任何人有任何想法可能是什麼問題?

+0

在你正在執行的代碼中是否有任何JavaScript內聯或鏈接? – Bostone 2009-11-01 06:17:54

+0

在我的原始頁面上有,但我也在一個完全空白的頁面上測試它,有和沒有文檔類型,但問題仍然存在。 – Roger 2009-11-01 15:42:00

回答

1

聽起來像Firefox的表單字段自動完成正在讓你的方式。您可以通過將autocomplete="off"添加到<input>字段或將<form>元素添加到所有字段來禁用它。

+0

嗯,這個「有點」起作用。在使用autocomplete =「off」後,會發生什麼,當我將注意力放在用戶名上時,現在密碼不會被擦除。但是,一旦我在用戶名中輸入任何內容並失去焦點,它就會再次刪除密碼。這是令人費解的,因爲我嘗試了其他一些網站,但這並沒有發生。 – Roger 2009-11-01 15:44:34

0

它似乎是Firefox(至少3.5.1)密碼管理器的行爲。在模糊時,它會查找DOM樹中的下一個輸入字段,並且如果有密碼字段,則管理器會將當前值替換爲之前存儲的值或空字符串(如果未找到匹配項)。

要確保它可以嘗試輸入存儲的此頁/域用戶名輸入並刪除焦點。 FF將替換存儲的密碼。

作爲解決方法,您可以在文本和傳遞字段之間插入<input id="dummy" type="text" style="display:none;" />。這將打破FF依賴的通用標記模式。