метка внутри ввода с использованием jquery - PullRequest
2 голосов
/ 03 марта 2011

мой "ярлык" находится внутри ввода, поэтому я хочу очистить поле, когда пользователь щелкнет, и если оно пустое, "ярлык" снова вернется

     $('#name').focus(function() {
        if ($(this).val()=="Your name") { $(this).val(""); }
    }).blur(function() {
        if ($(this).val()=="") { $(this).val("Your name") }
    });

, и это будет сделано до 3или больше полей, может быть лучше?без использования плагинов, просто jquery

Ответы [ 2 ]

5 голосов
/ 03 марта 2011

Я думаю, что ваш метод, вероятно, почти такой же краткий, как и собирается, но стоит отметить, что html5 предлагает атрибут placeholder для input тегов:

<input type="text" placeholder="Your name." />

JS Fiddle demo .

Это, конечно, , который еще не дошел до нетрадиционных браузеров ...

2 голосов
/ 03 марта 2011

Если вы хотите, чтобы он легко работал с другими полями, вы можете снять флажок и поместить значение Your name в атрибут заголовка поля.

$('.waterMarkInput').focus(function() {
  if ($(this).val()==$(this).attr("title")) { $(this).val(""); }
}).blur(function() {
  if ($(this).val()=="") { $(this).val($(this).attr("title")); }
});

И тогда ваши поля ввода могутвыглядеть так:

<input type="text" value="" class="waterMarkInput" title="Your name"/>
...