2011-08-30 48 views
11

我有一個使用HTML5的新網站。除了LESS樣式表和Facebook標籤之外,所有的事情都可以驗證。但是,Chrome無法正確自動填充。如果我在名字字段中輸入'chr',我會在其下面選擇標準的自動填充下拉菜單,但突出顯示,單擊或選擇自動填充選項不會完成表格。自動填充下拉菜單僅會消失。什麼會導致Chrome自動填充停止工作?

我猜我的HTML中有一些令人困惑的自動填充代碼,但我似乎無法在網絡上找到關於Chrome自動填充實施的任何信息,以及在無法使用時尋找的東西。

編輯:我知道Autofill工作正常,因爲它適用於其他網站,甚至是我們開發的其他網站。它必須是本網站上HTML的特定內容。

+0

請提供一些HTML + JS代碼示例。我有一個預感,你有一些防止表單提交行爲的js代碼,假設你首先使用了FORM標籤。 – Kayhadrin

+0

這是您的問題的一個潛在的解決方案:http://stackoverflow.com/questions/16445463/how-to-get-chrome-to-autofill-with-asynchronous-post/22191041#22191041 – Kayhadrin

回答

6

Chrome似乎只啓用了使用POST方法自動填充表單。這可能是最近版本的安全更新。

如果你做自動填充將工作:

<form id="myForm" action="?go" method="get">

<form id="myForm" action="?go">

+0

這對我有效,謝謝。 –

3

我知道在HTML中阻止它的唯一方法是在輸入上設置:autocomplete =「off」。

我知道下拉式按鈕有時無法使用自動填充功能,但不能使用文本框。

+0

是的,我沒有使用。 – Chris

0

對不起,我不能給你一個明確的答案,但我會開始刪除除了輸入字段之外的所有內容。如果有效,那麼我會開始「二分查找」 - 刪除原始佈局的一半,看看是否有效,如果不行 - 刪除剩下的一半等等,直到發現問題行。

同樣可以應用於css,js等。這是一種非常有效的搜索錯誤的方法(對於1024行代碼,只需10步即可找到確切的問題行)。

15

如果表單異步提交,Chrome將不會保存密碼或自動完成數據。例如,如果您提交以下表單,Chrome會提示您保存密碼:

<form action="/signin"> 
    <input type="text" name="email" /> 
    <input type="password" name="password" /> 
    <button type="submit">Sign In</button> 
</form> 

但是,如果綁定到submit事件,並覆蓋默認行爲,不會有提示和自動完成數據將不會被保存:

$(function(){ 
    $('form').submit(function(e){ 
     e.preventDefault(); 
     $.post($(this).attr('action'), $(this).serialize()); 
    }); 
}); 

經測試,在20.0

+0

考慮到已保存的用戶數據已經存在,並且應該在提交之前提交填寫表單,這完全不相干。 – Chris

+0

我知道這是一年之後。我遇到這個問題是因爲我異步提交表單。幾小時前我做了[這個問題](http://stackoverflow.com/questions/16445463/how-to-get-chrome-to-autofill-with-asynchronous-post)。我想知道你是否對這是否是解決此問題的好方法有意見。它似乎在Chrome中工作。 – 1252748

+0

嗨克里斯托弗,我通過'$('form')。submit()'提交表單,我想自動完成工作。然而,自動完成只適用於,如果表單通過提交按鈕'button type =「submit」'提交,任何想法模擬按鈕提交,以便Chrome自動完成?謝謝 – basZero

2

我剛纔fighted這個問題了一會兒,我發現了一個「名」與 屬性破折號像「電子郵件2」會導致Chrome不能au完成該領域。 在我的情況下,我已將其更改爲email2,現在它可以正常工作。 它隻影響「name」屬性,而「id」屬性沒有任何區別。

我希望這可以幫助別人節省時間這樣一個愚蠢的錯誤。

來自阿根廷的問候!

-1

<form id="myForm" action="?go" method="post">

如果省略該方法或將它設置爲獲取它不會工作只有那些需要自動填充的元素應該存在於表單內部,另外還有自動填充填充不會work.if只有那些文本框下form.if你已經有形式涉及其他元素,將它們分開,並將新的形式標籤周圍的文本框需要自動填充,沒有其他內部。

+1

這並不是許多形式的自動完成我在許多網站上發現的情況,在那裏我只自動完成表格的一部分 – gbalduzzi

相關問題