2014-02-19 206 views
8

我想使用下面的代碼來使用信用卡的「Safari的自動填充」。 但它沒有工作Safari自動填充信用卡

<input type="text" autocomplete="cc-number"> 
<input type="text" autocomplete="cc-name"> 
<input type="text" autocomplete="cc-exp-month"> 
<input type="text" autocomplete="cc-exp-year"> 
<input type="text" autocomplete="cc-csc"> 
+1

面對同樣的問題。它似乎取決於網站的SSL證書。 – alexey

+0

你解決了這個問題嗎? – alexey

+0

還沒有。但我認爲這是一個錯誤在Safari – Claytinho

回答

1

我用這個IDS解決:

<input type="text" id="cardNumber"> 
<input type="text" id="cardHolder"> 
<input type="text" id="cardExpirationMonth"> 
<input type="text" id="cardExpirationYear"> 
<input type="text" id="cardCsc"> 
+0

你能解釋爲什麼這個工程?也許鏈接到使用ID的文檔?我想知道哪種方法最有可能適用於所有未來瀏覽器的所有將來版本:) –

+0

我還沒有找到解釋文檔,但使用SSL並使用這些ID,Safari和Chrome正常工作。只記住使用SSL瀏覽 – Claytinho

+0

瀏覽器使用不同的匹配算法根據類型,ID和名稱以及相鄰字段來檢測這些字段。確切的算法是未知的,下面是已知的很好的寫法:https://cloudfour.com/thinks/autofill-what-web-devs-should-know-but-dont/ – Psaniko

1

自動完成屬性只能有開/關,你可以有自己的價值觀,你需要,你可能有瀏覽器的問題,我不建議ü在你的 形式再看看,它應該是像.. !!

<form action="demo_form.asp" method="get" autocomplete="on"> 
+0

如果不是..可能是一些概率機智safari ..! – 2015-11-24 11:01:08

1

我有同樣的問題,iPhone上的Safari只是拒絕填充信用卡到期字段。我嘗試使用單個字段,以及MM和YYYY輸入的單獨字段。

根據https://html.spec.whatwg.org/multipage/forms.html#attr-fe-autocomplete自動填充值取決於輸入字段是否佩戴期望地幔錨地幔。後者的含義是隱藏的輸入字段,在這種情況下off是不允許的,但輸入應該來自WhatWG頁面上列出的自動填充字段名稱列表。

據我所知,自動完成值應該向瀏覽器提示,在自動填充過程中要插入什麼數據。

到目前爲止,我不能讓這個在Safari上擦出火花......

1

爲了使它工作,你需要:

  • 使用以下名稱中的任何一個:addCreditCardNumber,cardNumber,cardnumber - 或者 - 此ID的任何一個:cardNumber,creditCardNumber,creditCardMonth,creditCardYear(可能有更多ID或名稱可用)
  • 使用輸入文本型(非數字型)
  • 而最重要的是它會只能工作在HTTPS

希望這有助於!