我有一個表單,我已經實現了一個autosuggest下拉菜單(通過jQueryUI),以便用戶可以在我們的應用程序中搜索聯繫人並讓他們的信息自動填充。我希望窗體上禁用自動完成,但Safari(在macOS上)忽略autocomplete="off"
。我在輸入欄中指定了自動完成功能,並在<form>
標記中指定了自動完成功能。此表單適用於朋友的實際郵寄地址,而Safari則顯示來自Contacts.app的匹配聯繫人...但它覆蓋在我的自動提示下拉列表的頂部。我如何強制Safari停止顯示此下拉菜單?如何在Safari的地址欄中禁用自動完成功能?
<form accept-charset="UTF-8" action="/listings/sailing/create_customized_card" autocomplete="off" class="new_greeting_card" id="new_greeting_card" method="post">
...
<li>
<input autocomplete="off" autocorrect="off" class="validate required" id="to_name" name="delivery[to_name]" placeholder="First & last name" size="30" type="text" />
</li>
<li>
<input autocomplete="off" autocorrect="off" class="validate required" id="to_address_street_1" name="to_address[street_1]" placeholder="Street 1" size="30" type="text" />
</li>
<li>
<input autocomplete="off" autocorrect="off" id="to_address_street_2" name="to_address[street_2]" size="30" type="text" />
</li>
<li>
<input autocomplete="off" class="validate required city" id="to_address_city" name="to_address[city]" placeholder="City" size="30" type="text" />
<select class="validate required state" id="to_address_state" name="to_address[state]">
<option value="AK">AK</option>
...
</select>
<input autocomplete="off" class="validate required zip" id="to_address_zip_code" name="to_address[zip_code]" pattern="(\d{5}([\-]\d{4})?)" placeholder="Zip" size="30" type="text" />
</li>
...
</form>
僅供參考 - 我知道,大多數瀏覽器會忽略autocomplete="off"
用戶名和密碼字段,但這些聯繫人地址字段。
對於Chrome,您可以將自動更正設置爲語義正確,但根據規範無效。即'autocorrect =「new-contact-name」'。儘管如此,這在Safari中仍然不起作用。 https://bugs.chromium.org/p/chromium/issues/detail?id=468153 – dignoe