Я хотел бы знать, как можно получить значение по умолчанию для поля ввода после .val()
было изменено значение .val()
. Моя разметка - это разные текстовые входы с классами .large
и .medium
и у меня есть текстовое значение по умолчанию в каждом поле.
То, что я хочу сделать, - когда пользователь focusin
в поле, значение по умолчанию исчезает. При focusout
поля возвращается значение по умолчанию. Теперь, когда пользователь уже набрал что-то, поле сохраняет focusout
значение даже при focusout
но то, что я не могу заставить работать, - если пользователь удаляет свой текст и фокусируется, значение по умолчанию должно появляться снова.
Мой код:
var $inputs = $('.large, .medium');
var allowSaveVal = true;
$inputs.on('focusin', this, function() {
saveVal = $(this).val();
if (allowSaveVal) $(this).val('');
});
$inputs.on('keydown', this, function() {
allowSaveVal = false;
$(this).css('color', '#000000');
});
$inputs.on('focusout', this, function() {
if($(this).val() == '') $(this).val(saveVal);
if (allowSaveVal) $(this).val(saveVal);
});
Надеюсь, мой вопрос ясен. Благодарю!
Вам не нужно это кодировать, просто используйте атрибут placeholder
.
Пример:
<input type="text" placeholder="default text">
placeholder
, посмотрите здесь: http://stackoverflow.com/questions/4004087/html-placeholder-browser-compatibility
Вы можете использовать "placeholder" в своих html-кодах вместо js или jquery.
<input type="text" placeholder="yourdefaultvalue" />
Если пользователь вводит значение во вход и фокус, значение не исчезает.
Сохраните значение в переменной в коде js, прежде чем что-либо измените, и вы сможете позвонить позже.
var largeInit = $('.large').val();
var mediumInit = $('.medium').val();
Если я полностью понимаю ваш вопрос, тогда вы можете сделать это с атрибутом place-holder для этого элемента html
пытаться:
<input type='text' placeholder='This your default value' />
Если это поможет, не забудьте принять ответ.
placeholder
. Пример:<input type="text" placeholder="default text">