Я создал форму для своего веб-сайта и назначил значения по умолчанию для каждого ввода, чтобы сделать их более доступными. Я использую javascript, чтобы при наличии значения по умолчанию и фокусе ввода значение менялось на "". Это также работает наоборот - когда значение пустое и вы фокусируете, javascript автоматически заполняет значение. Сценарий выглядит следующим образом:
$('#form .input_1').focus(function(){
if ($(this).val() === 'Project_date') {
$(this).val('');
}
});
$('#form .input_1').focusout(function(){
if ($(this).val() === '') {
$(this).val('Project_date');
}
});
$('#form .input_2').focus(function(){
if ($(this).val() === 'Project_name') {
$(this).val('');
}
});
$('#form .input_2').focusout(function(){
if ($(this).val() === '') {
$(this).val('Project_name');
}
});
Теперь, несмотря на то, что это рабочий сценарий, мне кажется, что это решение не очень чистое и, конечно, у меня больше входных данных, чем два, поэтому я в основном повторяю то же самое строки кода для каждого входа меняются только селекторы и назначенные значения. Мне было интересно, есть ли более элегантный способ добиться того же результата? что-то вроде:
$('#form input').focus(function(){
if ($(this).val() === defaultValue) {
$(this).val('');
}
});
$('#form input').focusout(function(){
if ($(this).val() === '') {
$(this).val(defaultValue);
}
});
Спасибо за ваш ответ !!