5.00 / 1 oy

Chrome'da otomatik doldurma (autofill) form için nasıl iptal edilebilir?

Kodladığım html formlar Chrome'da otomatik doldurma (autofill) ile istemediğim halde dolduruluyor. email, password ya da name gibi input isimleri de hemen her formda aşağı yukarı aynı olduğu için içerikler de hatalı gelmiş oluyor. Chrome'da istediğim form input'ları için otomatik doldurma seçeneklerini nasıl iptal edebilirim?

mbologlu

26.06.2019 09:32

Bu soru 3 kez yanıtlandı.

  • 26 Haziran 2019 16:06
    36

    1. Çözüm: Form ve form içerisindeki input'lar için autocomplete özelliklerini "off" yapabilirsiniz

    <form autocomplete="off">
    <input autocomplete="off">

    Bu işlemi JQuery ile de deneyebilirsiniz:

    if ($.browser.webkit) { //eğer tarayıcı chrome ya da safari ise
        $('form').attr('autocomplete', 'off');
        $('.doldurma input[name="name"]').attr('autocomplete', 'off');
        $('.doldurma input[name="password"]').attr('autocomplete', 'off');
        $('.doldurma input[name="email"]').attr('autocomplete', 'off');
    }

    Bu JQuery kodu sadece Chrome ya da Safari tarayıcılarda form'ları ve doldurma sınıfı (class) altındaki name= password ve name=email özelliklerine sahip input'lar için autocomplete=off özelliği ekleyecektir.

    Firefox bu kurala uyuyor ancak Chrome'un sürümüne bağlı olarak yine de otomatik doldurma seçenekleri aktif olabiliyor.

    2. Çözüm: autocomplete="off" yerine autocomplete="false" ya da autocomplete="new-password" kullanmayı deneyin.

    3. Çözüm: Alternatif olarak Chrome için bir şaşırtmaca ekleyerek bu problemi aşabilirsiniz. Bunun için de görünmez iki form elementi ekleyebilir ve gizli hale getirebilirsiniz:

    <input type="text" name="otomatikDoldurma" id="otomatikDoldurma" value="" style="display:none;" />
    <input type="password" name="sahte_parola" id="sahte_parola" value="" style="display:none;" />
    <input type="text" name="email" id="email" value="" />
    <input type="password" name="password" id="password" value="" />

    4. Çözüm: Önceki çözüm işe yarayacaktır ancak tarayıcıya çok gıcık olursanız bu çözümü de uygulayabilirsiniz. Bu çözümde ise amaç tarayıcının otomatik doldurma yapamaması için input'ları salt okunur (read-only) yapmak ve sadece kullanıcının focus eyleminde yazı yazılmasına izin vermektir.

    <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>

    Mobil tarayıcılar için de kullanacaksanız Safari'de sanal klavyenin çıkmasını engellemek için aşağıdaki gibi uygulayabilirsiniz:

    <input id="parola" readonly type="password" 
    onfocus="if (this.hasAttribute('readonly')) 
    { 
        this.removeAttribute('readonly');
        this.blur();
        this.focus();  
    }" 
    />

     

  • 2 Aralık 2020 16:34
    21

    1.5 yıl kadar önce verdiğim cevap çözüm olarak işaretlenmiş ancak sonraki sürümlerde google chrome'da problem devam ettiği için artık şu şekilde autocomplete özelliğini kullanmalısınız:

    autocomplete="chrome-off"

    Bir önceki sürüm için de şu işe yarıyordu:

    autocomplete="new-password" 

     

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Chrome'da otomatik doldurma (autofill) form için nasıl iptal edilebilir?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.