В настоящее время я использую встроенный javascript для очистки значения входного текста по умолчанию. Если пользователь ничего не вводит, значение по умолчанию отображается размытым. Код выглядит следующим образом:jQuery Input Text Clear, Return to Default no Entry
onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"
Проблема заключается в том, что я должен добавить этот фрагмент кода для каждого отдельного ввода текста по всему сайту. Каким будет эквивалент jQuery этого, который автоматически сделает это для каждого ввода текста (: текст).
Я придумал следующее с двумя ошибками. (1) Он очищает любое значение, которое может иметь текстовое поле. Я хочу, чтобы он очистил его, если значение является значением attr по умолчанию. (2) Функция размытия не вставляет значение по умолчанию. Мне не хватает чего-то невероятно простого. Я совершенно уверен.
$(':text').focus(function() {
var value = $(this).val();
var defval = $(this).attr('value');
if(value == defval) {
$(this).val('');
}
});
$(':text').blur(function() {
var value = $(this).val();
var defval = $(this).attr('value');
if(value == '') {
$(this).val(defval);
}
});
Заранее благодарен!
будет не $ (это) .val() и $ (это) .attr ('значение') дают то же самое? – richard
@richard. Нет. '$ (This) .attr ('value')' даст вам содержимое внутри атрибута 'value', в то время как' $ (this) .val() 'даст вам фактическое значение. Пример: когда вы меняете значение текстового поля и смотрите исходный код, * он * не изменился. –
Почему вы не используете плагин? – Andre