2015-04-03 56 views
3

好吧,所以我知道這個自動完成=「關閉」標籤應該適用於除密碼字段以外的所有輸入,並且我已經搜索了針對特定問題的答案,但看起來像我是唯一有這個問題的人。我知道我可以將它添加到表單元素或單個輸入元素。我的文檔類型設置爲:<!DOCTYPE html>自動完成「關閉」完全被忽略

我有一個包含2個問題(此示例簡化)的表單:姓名和電話號碼。出於測試目的,我已將autocomplete =「off」添加到這兩個字段和表單元素。

這是我的形式:

<form id="myform" autocomplete="off"> 
    <input autocomplete="off" type="text" name="name" /> 
    <input autocomplete="off" type="text" name="phone" /> 
</form> 

形式完全無視自動完成=「關閉」,並建議我的名字和電話號碼。

有沒有人有什麼想法?

Screen-shot

+0

它可能是瀏覽器自動填充設置。雖然不確定。 – 2015-04-03 13:04:30

+0

我不會說荷蘭語,但似乎您已將Google Chrome配置爲自動填寫您的街道地址(點擊Chrome *鏈接中的*自動識別自動識別鏈接即可完成設置)。 – 2015-04-03 13:25:14

+0

謝謝Alvaro,但我從不碰任何瀏覽器設置。所以這必須是默認行爲。不過我會進一步調查一下。 雖然我猜想這是autocomplete =「off」函數的全部概念,對吧?如果任何人在瀏覽器中使用此設置,則無論如何都會阻止自動完成功能。 – 2015-04-03 13:41:43

回答

0

試試這個:

$(document).ready(function(){ 
    $(document).on('focus', ':input', function(){ 
     $(this).attr('autocomplete', 'off'); 
    }); 
}); 

或者這樣:

$(document).ready(function(){ 
    $("input").attr("autocomplete", "off"); 
}); 

在另一方面,你可能有一個看看這個Chrome Browser Ignoring AutoComplete=Off。希望這會有所幫助..

+0

謝謝繆拉。忘了提及這是我已經嘗試過的。沒有任何區別。 – 2015-04-03 13:43:51

+0

這很奇怪。因爲我創建了一個演示並嘗試了三種不同的瀏覽器。看看請:https://jsfiddle.net/fYe2p/7/ – 2015-04-03 14:08:25

+0

是的,我知道...這正是爲什麼它讓我瘋了。我禁用了處理表單的所有JavaScript。我已經刪除了這些字段的其他元素。必須有一些我錯過了。但我不知道那是什麼... – 2015-04-03 14:13:20

2

Chrome不幸地決定忽略autocomplete="off",這使開發人員很難做出讓普通用戶更容易的事情。

...我們開始忽略自動完成=關閉Chrome自動填入數據

來源:https://bugs.chromium.org/p/chromium/issues/detail?id=468153(2015)

有沒有解決方案?

不是真的...這番話繼續:

在你真的想停用自動填充功能的情況下,我們在這一點上的建議是利用autocomplete屬性給予有效的,語義的含義你的領域。如果我們遇到一個我們無法識別的自動完成屬性,我們不會嘗試填充它。

但這似乎不工作了(從Chrome 53起)。從這裏的討論 - Chrome Browser Ignoring AutoComplete=Off - 以及我自己的測試,似乎不再有一種方法來關閉自動填充而不使用某種破解。

1

許多現代瀏覽器不支持自動完成=「關閉」。

這是Firefox(從版本38開始),Google Chrome(從34開始)和Internet Explorer(從版本11開始)的行爲。

0

嘗試在密碼元素中設置autocomplete =「new-password」。這僅適用於Chrome瀏覽器