Saya menerima pesan kesalahan yang sama ketika mencoba melakukan ini di Firefox 5.
Saya memecahkannya menggunakan kode di bawah ini:
<script type="text/javascript" language="JavaScript">
$(document).ready(function()
{
var passfield = document.getElementById('password_field_id');
passfield.type = 'text';
});
function focusCheckDefaultValue(field, type, defaultValue)
{
if (field.value == defaultValue)
{
field.value = '';
}
if (type == 'pass')
{
field.type = 'password';
}
}
function blurCheckDefaultValue(field, type, defaultValue)
{
if (field.value == '')
{
field.value = defaultValue;
}
if (type == 'pass' && field.value == defaultValue)
{
field.type = 'text';
}
else if (type == 'pass' && field.value != defaultValue)
{
field.type = 'password';
}
}
</script>
Dan untuk menggunakannya, cukup atur atribut onFocus dan onBlur bidang Anda menjadi seperti ini:
<input type="text" value="Username" name="username" id="username"
onFocus="javascript:focusCheckDefaultValue(this, '', 'Username -OR- Email Address');"
onBlur="javascript:blurCheckDefaultValue(this, '', 'Username -OR- Email Address');">
<input type="password" value="Password" name="pass" id="pass"
onFocus="javascript:focusCheckDefaultValue(this, 'pass', 'Password');"
onBlur="javascript:blurCheckDefaultValue(this, 'pass', 'Password');">
Saya menggunakan ini untuk bidang nama pengguna juga, sehingga ini mengubah nilai default. Cukup atur parameter kedua fungsi ke '' saat Anda memanggilnya.
Mungkin juga perlu dicatat bahwa jenis default dari kata sandi saya sebenarnya adalah kata sandi, kalau-kalau pengguna tidak mengaktifkan javascript atau jika terjadi kesalahan, dengan cara itu kata sandi mereka masih dilindungi.
Fungsi $ (dokumen) .ready adalah jQuery, dan dimuat ketika dokumen telah selesai dimuat. Ini kemudian mengubah bidang kata sandi menjadi bidang teks. Tentunya Anda harus mengubah 'password_field_id' menjadi id bidang kata sandi Anda.
Jangan ragu untuk menggunakan dan memodifikasi kode!
Semoga ini bisa membantu semua orang yang memiliki masalah yang sama yang saya lakukan :)
- CJ Kent
EDIT: Solusi bagus tapi tidak absolut. Bekerja pada FF8 dan IE8 TAPI tidak sepenuhnya di Chrome (16.0.912.75 ver). Chrome tidak menampilkan teks kata sandi saat halaman dibuka. Selain itu - FF akan menampilkan kata sandi Anda ketika pengisian otomatis diaktifkan.