2017-03-27 1 views
4

나는 사용자가 우리 앱에서 연락처를 검색하고 정보를 자동으로 채울 수 있도록 자동 제안 드롭 다운 (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 &amp; 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> 

enter image description here

은 참고 - 나는 대부분의 브라우저는 사용자 이름과 암호 필드에 autocomplete="off"을 무시 것을 알고 있지만, 이들은 연락처의 주소 필드입니다.

+0

크롬의 경우 자동 보정을 의미 상 올바르지 만 사양에 따라 잘못 설정할 수 있습니다. 즉,'autocorrect = "new-contact-name"'이다. Safari에서는 여전히 작동하지 않습니다. https://bugs.chromium.org/p/chromium/issues/detail?id=468153 – dignoe

답변

2

비슷한 방법으로 자동 완성을 사용 중지 할 수없는 것으로 보입니다. Safari는 요소의 id에있는 특정 키워드를 찾고 "이름", "주소", "전자 메일"등이 있으면 자동 완성 기능 (Safari 10.1.1에서 테스트 됨)을 사용합니다.
그래서 내가 찾은 유일한 간단한 해결 방법은 자동 완료 기능을 트리거하지 않는 다른 id을 사용하는 것입니다.

편집 : 사파리는 placeholder 속성을 사용하여 자동 완성 기능을 사용할지 여부를 결정했습니다.

+0

안녕 마테오, 이것에 대해 확실합니까? ID를 변경하려고 시도했지만 여전히 연락처에서 데이터로 채울 것을 요청합니다 ... – bluantinoo

+0

예, 다른 필드에서이 동작을 테스트했습니다. 관리자의 ID 만 변경 했습니까? 이 방법으로 작동하지 않기 때문에 페이지를 다시로드해야 효과를 볼 수 있습니다. 또는 자동 완성을 트리거하는 다른 "관련성 높은"ID로 변경 했습니까? –

+0

아무 의미가없는 문자열을 사용하여 여러 번 변경해 보았습니다. 필드 이름과 ID를 변경해도 사파리가 이전 충전물을 기억하는 것처럼 보입니다 – bluantinoo