Ответ 1
Самый простой способ достичь этого - с атрибутом html (хотя html5) placeholder
:
<input type="text" placeholder="Enter email address." name="email" />
Он появится как "светлый" текст, который исчезает, когда пользователь начинает что-то вводить.
Однако, если вам действительно нужно/нужно использовать jQuery (так как вышеописанное html-решение используется только в более современных/совместимых браузерах), здесь способ:
$(document).ready(
function(){
$('input:text').each(
function(){
$(this).click(
function(){
$(this).val('');
});
$(this).blur(
function(){
if ($(this).val == '') {
$(this).val($(this).attr('placeholder'));
}
});
});
});
Отредактировано, чтобы добавить отсутствующий
)
в окончательный if
, а также добавить слегка пересмотренную версию выше, в которой есть текст с немного серым цветом placeholder
(так как я полагаю, что OP например, учитывая его вопрос в комментариях ниже):
$(document).ready(
function(){
$('input:text').each(
function(){
$(this)
.val($(this).attr('placeholder'))
.css('color','#999');
$(this).click(
function(){
$(this)
.val('')
.css('color','#000');
});
$(this).blur(
function(){
if ($(this).val() === ''){
$(this)
.val($(this).attr('placeholder'))
.css('color','#999');
}
});
});
});