Я получил то же сообщение об ошибке при попытке сделать это в Firefox 5.
Я решил, используя код ниже:
<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>
И чтобы использовать его, просто установите для атрибутов onFocus и onBlur ваших полей что-то вроде следующего:
<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');">
Я также использую это для поля имени пользователя, поэтому оно переключает значение по умолчанию. Просто установите второй параметр функции на '', когда вы вызываете его.
Также, возможно, стоит отметить, что типом поля моего пароля по умолчанию на самом деле является пароль, на случай, если у пользователя не включен javascript или если что-то пойдет не так, тогда его пароль по-прежнему защищен.
Функция $ (document) .ready - это jQuery, которая загружается после завершения загрузки документа. Это тогда изменяет поле пароля на текстовое поле. Очевидно, вам придется изменить 'password_field_id' на идентификатор поля вашего пароля.
Не стесняйтесь использовать и изменять код!
Надеюсь, это поможет всем, у кого была такая же проблема, как и я:)
- CJ Kent
EDIT:
Хорошее решение, но не абсолютное. Работает на FF8 и IE8, НО не полностью на Chrome (16.0.912.75 ver). Chrome не отображает текст Password при загрузке страницы.
Также - FF будет отображать ваш пароль при включенном автозаполнении.