Самый простой способ - использовать HTML5-текст-заполнитель . Но это может иметь некоторые непреднамеренные визуализации при применении к полям пароля в некоторых браузерах, и даже не работает в IE до IE9. Поэтому для согласованности между браузерами я бы использовал для этого плагин jQuery:
http://plugins.jquery.com/project/html5placeholder
Тогда вам вряд ли придется что-либо делать. В HTML-коде вы устанавливаете обычное текстовое поле для пароля, но с заполнителем, например:
<input type="password" placeholder="Senha">
В javascript (после включения выше подключаемого модуля jQuery) вы можете просто активировать его:
$('input').placeholder();
Но, если вы хотите использовать традиционный метод (или если вышеописанный метод не работает для вас по какой-то причине), вы можете просто заменить поле пароля обычным текстовым полем, как требуется. Вы настроили бы свой HTML таким образом, с видимой подсказкой и скрытым фактическим полем:
<input id="password-field" type="password" name="password" style="display: none;">
<input id="password-prompt" type="text" value="Senha">
Тогда, jquery, чтобы поменять его:
// This makes the password field show up when you focus on the prompt,
// and changes focus to the password field
$('#password-prompt').focus(function() {
$(this).hide();
$('#password-field').show().focus();
});
// This makes the prompt re-appear when you lose focus on the password field,
// but only if it's still empty (if you typed anything in, it leaves it as is)
$('#password-field').blur(function() {
if ($(this).val() == '') {
$(this).hide();
$('#password-prompt').show();
}
});