2010-07-19 3 views
0

Как заставить текст исчезать так же, как некоторые поля работают здесь в stackoverflow, как только я начинаю вставлять текст? Я пробовал разные «on-action» в HTML, но это не делало то, что я хотел.Удалить текст из полей для ввода

Спасибо.

ответ

2

Вы можете сделать это с помощью событий onfocus/onblur. Например:

<input type="text" value="search" onfocus="if(this.value=='search')this.value=''"/> 

Если вы нажмете на это поле ввода, текст «поиск» по умолчанию исчезнет. Обработчик события onfocus проверяет, имеет ли это поле ввода значение «поиск», и если это так, то очищает его, в других случаях (пользователь уже набрал что-то) оставляет все как есть.

+0

Спасибо, это то, что я искал :) – Nisto

0

Используйте OnFocus() в JavaScript

<input type="text" onfocus="if(this.value == 'value') { this.value = ''; }" value="value" /> 
2

Предположительно вы имеете в виду "Ярлыки, которые появляются внутри входа".

Если вы хотите сделать это разумным, доступным, семантическим способом - используйте <label>, если JS доступен, затем расположите его под элементом, а onfocus/onblur измените классы на основе значения элемента.

Я выложил простой пример в http://dorward.me.uk/tmp/label-work/example.html с помощью jQuery (весь источник, который не является частью библиотеки jQuery, встроен в HTML этого документа для удобства чтения).

1

jQuery сделает эту легкую работу; http://www.jsfiddle.net/TshDN/

+0

Это на самом деле не легче, то примеры не-JQuery ранее выданных. – Quentin

+0

Вам не нужна библиотека размером 100 килобайт, чтобы сделать * однострочный * – Andris

+0

Целью здесь было продемонстрировать это в jQuery, поскольку stackoverflow использует lib, и ему нужно что-то вроде stackoverflow. Но да, вы оба правы - 100kb не нужен для одного-лайнера, а onfocus будет лучше. – gnome

Смежные вопросы