Rumah >hujung hadapan web >tutorial js >Penyelesaian kepada ralat apabila mengubah suai atribut jenis input di bawah kemahiran IE8_javascript
Ringkasan:
Kini terdapat keperluan seperti yang ditunjukkan dalam gambar Apabila pengguna menyemak kotak semak Show clear text, kata laluan yang dimasukkan oleh pengguna mesti dipaparkan dalam teks yang jelas Apabila kotak semak dialih keluar, ia mesti ditukar semula untuk sifir teks. Perkara pertama yang terlintas di fikiran ialah mengubah suai jenis kotak untuk memutuskan sama ada untuk memaparkan teks biasa atau teks sifir semuanya baik, tetapi ralat akan dilaporkan di bawah ie8 Saya mendapati sebabnya Mengubah suai input tidak dibenarkan dalam ie8 Atribut jenis akhirnya dilaksanakan menggunakan pendekatan yang berbeza.
Apabila Tunjukkan Teks Biasa ditanda, gantikan kotak input dengan type="text". Apabila ia tidak ditandakan, gantikan kotak input dengan type="password".
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <script src="jquery.min.js"></script> </head> <body> <span id="pass"><input name="password" type="password"></span><label><input type="checkbox" id="show-password">显示明文</label> <script> $('#show-password').click(function() { var inp,cname,val; if(this.checked) { inp = $('#pass').children('input'); cname = inp.attr('name'); val = inp.val(); $('#pass').html('<input name="'+cname+'" value="'+val+'" type="text">'); } else { inp = $('#pass').children('input'); cname = inp.attr('name'); val = inp.val(); $('#pass').html('<input name="'+cname+'" value="'+val+'" type="password">'); } }); </script> </body> </html>
Artikel ini tidak mempunyai sebarang kandungan teknikal, tetapi interaksi seperti ini masih wujud Artikel ini terutamanya ditulis untuk mempertimbangkan isu keserasian di bawah IE8. Jika anda mempunyai interaksi seperti ini dalam projek anda, anda boleh merujuknya, atau jika anda mempunyai kaedah yang lebih baik, anda boleh berkongsi dengan saya.