Я использую атрибут "заполнитель". для текста-заполнителя в полях ввода
Мне тоже нужна эта функциональность в IE-инкарнациях.
Я хочу, чтобы заполнитель скрывался на ФОКУСЕ! каждый найденный мной обходной путь скрывает заполнитель при вводе первого типа.
Я не могу решить это сам, ему нужно просто удалить текст-заполнитель ввода в фокусе, но также восстанавливает этот текст-заполнитель при размытии, если входное значение пусто.
Я пытаюсь заставить это работать
jQuery(document).ready(function () {
jQuery('[placeholder]').focus(function() {
input = jQuery(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
input.attr('placeholder','')
}
}).blur(function() {
var input = jQuery(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur().parents('form').submit(function() {
jQuery(this).find('[placeholder]').each(function() {
var input = jQuery(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
});
это изменяет значение заполнителя на "(ничего)", и поведение такое, как я хочу, но при размытии он не может восстановить значение заполнителя, потому что теперь его "(ничего)"
//Обновлять
решение для меня:
$(function()
{
$('input').each(function()
{
$(this).val($(this).attr('holder'));
});
$('input').focus(function()
{
if($(this).attr('holder')==$(this).val())
{
$(this).val('');
}
});
$('input').focusout(function()
{
if($.trim($(this).val())=='')
{
var holder = $(this).attr('holder');
$(this).val(holder);
}
});
});