Saya telah menemukan apa yang saya yakini sebagai bug pada Firefox dan saya bertanya-tanya apakah ini benar-benar bug, serta solusi untuk ini.
Jika Anda membuat halaman web dasar dengan sumber berikut:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
</head>
<body>
<div>
<input id="txtTest" type="text" />
<input type="button" onclick="$('#txtTest').attr('disabled','disabled');" value="Set Disabled (jQuery)" />
<input type="button" onclick="document.getElementById('txtTest').disabled = true;" value="Set Disabled (js)" />
<input type="button" onclick="$('#txtTest').removeAttr('disabled');" value="Remove Disabled" />
</div>
</body>
</html>
Jika Anda disable
yang textbox
dinamis dan kemudian refresh halaman,textbox
akan tetap dinonaktifkan bukannya ulang kembali ke keadaan semula tidak cacat. Saya sudah mencoba ini di IE8 dan Chrome dan mereka berperilaku seperti yang saya harapkan, mengatur ulang bagian textbox
belakang menjadi tidak dinonaktifkan saat saya menyegarkan.
Sedikit informasi menarik lainnya adalah bahwa ia masih melakukan hal yang sama jika inputnya adalah a, checkbox
bukan a textbox
.
input
elemen saat Anda menyegarkan?autocomplete="off"
. Posting blog ini terlihat tidak asing bagi saya, jadi saya pasti pernah menemukan ini sebelumnya. Anda harus menulis jawaban untuk pertanyaan Anda sendiri (atau haruskah saya?)Jawaban:
Ini adalah "fitur" Firefox yang mengingat nilai input formulir di seluruh penyegaran halaman. Untuk memperbaiki perilaku ini, Anda cukup mengatur
autocomplete="off"
pada form yang berisi input, atau langsung saja ke input.Ini menghentikan pelengkapan otomatis agar tidak berfungsi dan mencegah browser mengingat status kolom input.
Sebagai alternatif, Anda dapat "menyegarkan" dengan mengklik CTRL + F5. Ini akan menyetel ulang halaman saat ini sepenuhnya.
sumber
autocomplete="off"
tidak berfungsi dalam kasus itu.Untuk menangani tombol kembali, lakukan ini (dari sini )
sumber
//enable button here
mubazir di sini; pemahaman saya tentang dokumen yang dirujuk adalah bahwa hanya dengan kehadiran pendengar acara akan mencegah halaman disimpan di BFcache.Seperti yang disebutkan sebelumnya, Anda perlu menambahkan
autocomplete="off"
tombol Anda.Berikut ini
sh
+perl
snippet untuk mengotomatiskan hal ini dalam kasus<button>
s di file / template HTML Anda (dengan beberapa asumsi):Asumsinya adalah:
<button>
Tag pembuka dimulai dan diakhiri pada baris yang sama. Jika ini tidak terjadi (yaitu mereka mungkin dibagi menjadi beberapa baris) maka mengganti/g
dengan/gs
harus membantu (s
pengubah menyebabkan.
untuk mencocokkan baris baru juga)HTML yang valid (mis. Tidak ada karakter lucu antara
<
dan>
) dan tidak ada unescaped lebih besar dari (>
) di dalam tag pembuka.sumber
Ini memang bug terbuka di Firefox. Ada juga catatan di MDN:
autocomplete
(gulir ke bawah ke kotak kuning kedua):Jika Anda menggunakan Bootstrap, Anda mungkin tertarik dengan file
sumber