Firefox 5'te bunu yapmaya çalışırken aynı hata iletisini aldım.
Aşağıdaki kodu kullanarak çözdüm:
<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>
Bunu kullanmak için, alanlarınızın onFocus ve onBlur özelliklerini aşağıdaki gibi bir şeye ayarlayın:
<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');">
Bunu bir kullanıcı adı alanı için de kullanıyorum, bu yüzden varsayılan bir değer değiştirir. Aradığınızda işlevin ikinci parametresini '' olarak ayarlamanız yeterlidir.
Ayrıca, bir kullanıcının javascript'i etkinleştirmemiş olması veya bir şeyler yanlış gitmesi durumunda, şifre alanımın varsayılan türünün gerçekten şifre olduğunu belirtmek gerekir.
$ (Document) .ready işlevi jQuery'dir ve belgenin yüklenmesi tamamlandığında yüklenir. Bu daha sonra parola alanını bir metin alanına değiştirir. Açıkçası 'password_field_id' i şifre alanınızın kimliğiyle değiştirmeniz gerekecektir.
Kodu kullanmaktan ve değiştirmekten çekinmeyin!
Umarım bu aynı problemi yaşayan herkese yardımcı olur :)
- CJ Kent
EDIT: İyi bir çözüm ama mutlak değil. FF8 ve IE8 üzerinde çalışır, ancak Chrome'da tam olarak değil (16.0.912.75 ver). Chrome,Sayfa yüklendiğinde Şifre metnini . Ayrıca - Otomatik doldurma açıldığında FF şifrenizi görüntüler.