Фокус ввода Jquery проблема - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь исправить этот фрагмент кода, который при нажатии удаляет значение ввода, а при размытии возвращает значение обратно во вход.Вы можете увидеть мой jsFiddle здесь, чтобы понять, что я имею в виду:

JSfiddle

Проблема

Кажется, что работаетпервые два входа, но остальные, похоже, ничего не делают.Он также не работает с текстовой областью.Странное поведение здесь, но я уверен, что голова Javascript может разобраться с этим.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 04 ноября 2011

Или просто присвойте своим элементам свойство id="".

0 голосов
/ 04 ноября 2011

И теперь это работает: :-) http://jsfiddle.net/maniator/3Ys7c/3/

Используйте jQuery data() attrbute:

jQuery(document).ready(function($) {
    $("input, textarea").focus(function() {
        if (!$(this).data('original')) {
            $(this).data('original', $(this).val());
        }
        if ($(this).val() == $(this).data('original')) {
            $(this).val('').css({
                'color': "#999999",
                'background-color': '#c6e9ff'
            });
        }
    });
    $("input, textarea").blur(function() {
        if ($(this).val() == "") {
            $(this).val($(this).data('original')).css({
                'background-color': '#ffffff'
            });
        }
    });
});

Причина, по которой ваш не работалпотому что вы использовали this.id, чего не имел ни один из них.Если вы просто используете атрибут data каждого входа, то каждый вход знает, что он должен и не должен быть: -)

...