2016-07-06 46 views
0

我有一個這樣的輸入:如何禁用輸入的記憶值?

<input name="username" placeholder="Email" type="email" autocomplete="off" /> 

正如你看到的我已經設置autocomplete屬性爲off。不過還是當我打開該頁面中,前值有:

enter image description here

嗯,我怎麼能避免呢?其實我的問題是醜陋背景顏色輸入。當我改變它的價值,它看起來像這樣:

enter image description here

反正我怎樣才能取消緩存投入?

+0

最簡單的方法是刪除'name'屬性。 – Jeff

+0

@Jeff那麼我怎樣才能在PHP中獲得輸入值? '$ _POST ['what name?'];' –

+0

看起來您已經在Chrome中存儲了登錄憑據。 – str

回答

0

大概你也有一個密碼字段在頁面上?如果不是,您可以生成一個隨機字段名稱並從請求對象的鍵/值集合中獲取值(可能使用已知的前綴)。

看着每一個答案,做禁用自動完成,並試圖約20組合之後,下面被發現目前所有的瀏覽器上運行(包括最新的火狐,Chrome,IE 11 & IE邊緣)

廣場2虛設輸入(1文本和1密碼)沒有名稱,沒有標籤在窗體的頂部,但它們的樣式隱藏(例如放置在屏幕外,但實際上不是)

例如

<input tabindex="-1" style="left: -9999px;" type="text"> 
<input tabindex="-1" style="left: -9999px;" type="password"> 

即使是最聰明的瀏覽器,它尋找第一個密碼字段(無論其名稱),並自動完成連接到先前的輸入,將與這方面的工作。

1

儘量做到以下幾點:

<form autocomplete="off" ...></form> 

它可能工作...或者你也可以這樣做。

$('#textfield').attr('autocomplete','off'); 

或使用autocomplete="false",而不是autocomplete="off"

0

時,它僅僅是關於設計的嘗試

input:-webkit-autofill { 
    transition: background-color 5000s ease-in-out 0s; 
} 

在你的CSS

不幸的是谷歌chrome改變它了具有自動完成設置每一個新版本。當你想現在禁用他們,你必須每次更新你的解決方案,以防止它進一步版本

編輯:
你可以做的唯一能夠完全停止自動填充和記住密碼是給沒有「名稱」或「密碼「在其中

1

正如你在你的問題中提到,你的輸入框的背景顏色是你的問題,那麼你可以按照你想要的方式改變它。

您可以使用:

input:-webkit-autofill { 
    -webkit-box-shadow: 0 0 0px 1000px white inset; 
} 

這將背景改爲白色。或者您可以將其更改爲您喜歡的任何顏色。