Apakah mungkin menggunakan CSS untuk menonaktifkan pelengkapan otomatis pada elemen formulir (khususnya bidang teks)?
Saya menggunakan pustaka tag yang tidak mengizinkan elemen pelengkapan otomatis dan saya ingin menonaktifkan pelengkapan otomatis tanpa menggunakan Javascript.
autocomplete="off"
ini akan diabaikan dalam versi Browser X (saat ini +1). (Misalnya, Google Chrome terbaru mengabaikan pelengkapan otomatis = nonaktif.)id
ini akan tetap menyimpannya di cache (misalnya pada hard drive pengguna.) Yang merupakan hal yang mengerikan untuk dilakukan terhadap nomor kartu kredit seseorang atau informasi sensitif lainnya. Selain itu, ini tidak perlu mengacaukan drive disk pengguna Anda. Setiap kali mereka mengunjungi halaman Anda, file baru (seperti cookie) akan disimpan di komputer mereka. Hanya untuk itu, coba bersihkan cache Chrome Anda dan lihat berapa banyak ruang yang akan dikosongkan (jika Anda belum melakukannya untuk sementara waktu). Itulah mengapa saya menyebutnya ide yang buruk.Seperti berdiri, tidak ada atribut 'pelengkapan otomatis mati' di CSS. Namun, html memiliki kode yang mudah untuk ini:
<input type="text" id="foo" value="bar" autocomplete="off" />
Jika Anda mencari efektor seluruh situs, yang mudah adalah dengan hanya memiliki fungsi js untuk menjalankan semua 'input' dan menambahkan tag ini, atau mencari kelas / id css yang sesuai.
Atribut pelengkapan otomatis berfungsi dengan baik di Chrome dan Firefox (!), Tetapi lihat juga Adakah cara W3C yang valid untuk menonaktifkan pelengkapan otomatis dalam bentuk HTML?
sumber
autocomplete="anyrandominvalidvalue"
akan bekerja.Anda dapat dengan mudah menerapkan dengan jQuery
$('input').attr('autocomplete','off');
sumber
form
adalah SATU-SATUNYA hal yang berhasil. Tidakinput
. Terima kasih.Jika Anda menggunakan,
form
Anda dapat menonaktifkan semua pelengkapan otomatis dengan,<form id="Form1" runat="server" autocomplete="off">
sumber
CSS tidak memiliki kemampuan ini. Anda perlu menggunakan skrip sisi klien.
sumber
autocomplete="false"
akan berfungsi di Edge. Secara teknis, nilai apa pun yang tidak valid dapat menggantikan "salah" di sini.Saya mencoba semua cara yang disarankan dari jawaban pertanyaan ini dan artikel lain di web tetapi tidak berhasil. Saya mencoba autocomplete = "new-random-value", autocomplete = "off" dalam elemen formulir, menggunakan skrip sisi klien seperti di bawah ini tetapi di luar $ (document) .ready () sebagai salah satu pengguna yang disebutkan:
$(':input').on('focus', function () { $(this).attr('autocomplete', 'off') });
Saya menemukan mungkin prioritas lain di browser menyebabkan perilaku aneh ini! Jadi saya mencari lebih banyak dan akhirnya, saya membaca lagi dengan hati-hati di bawah baris dari artikel yang bagus ini :
Ini baru saja berhasil. Saya mencoba di chrome secara khusus dan saya harap ini terus bekerja dan membantu orang lain.
sumber
Saya memecahkan masalah dengan menambahkan nama pelengkapan otomatis palsu untuk semua input.
$("input").attr("autocomplete", "fake-name-disable-autofill");
sumber
Ada 3 cara untuk itu, saya sebutkan agar menjadi cara yang lebih baik ...
Cara 1-HTML:
<input type="text" autocomplete="false" />
Cara 2-Javascript:
document.getElementById("input-id").getAttribute("autocomplete") = "off";
Cara 3-jQuery:
$('input').attr('autocomplete','off');
sumber
Berkat solusi @ ahhmarr, saya dapat menyelesaikan masalah yang sama di lingkungan Angular + ui-router saya, yang akan saya bagikan di sini untuk siapa pun yang tertarik.
Di saya,
index.html
saya telah menambahkan skrip berikut:<script type="text/javascript"> setTimeout(function() { $('input').attr('autocomplete', 'off'); }, 2000); </script>
Kemudian untuk menutupi perubahan status, saya telah menambahkan yang berikut ini di pengontrol root saya:
$rootScope.$on('$stateChangeStart', function() { $timeout(function () { $('input').attr('autocomplete', 'off'); }, 2000); });
Batas waktu adalah untuk dirender html sebelum menerapkan jquery.
Jika Anda menemukan solusi yang lebih baik, beri tahu saya.
sumber
Anda tidak dapat menggunakan CSS untuk menonaktifkan pelengkapan otomatis, tetapi Anda dapat menggunakan HTML:
<input type="text" autocomplete="false" />
Secara teknis Anda dapat mengganti
false
dengan nilai yang tidak valid dan itu akan berhasil. IOS ini satu-satunya solusi yang saya temukan yang juga berfungsi di Edge.sumber
Saya hanya menggunakan
'new-password'
sebagai gantinya'off'
untuk pelengkapan otomatis.dan saya juga telah mencoba menggunakan kode ini dan berfungsi (setidaknya di pihak saya), saya menggunakan WP dan GravityForm untuk informasi Anda
$('input').attr('autocomplete','new-password');
sumber
$('input').attr('autocomplete','off');
sumber