Я разместил страницу, показывающую, как это сделать с простым JavaScript.Я абстрагировал код для того, чтобы текстовые вводы / области отображали учебный текст, пока он не сфокусирован.измените значение (и, необязательно, классы) на основе существующего значения / «полезного» значения.
просмотрите
focus
и
blur
поля комментария и измените класс CSS другого элемента, чтобы отобразить и скрытьit.
Это все немного проще, если вы используете что-то вроде jQuery , поскольку оно уже включает кросс-браузерный код и даже плагины для обработки части с самоописанием.Если вы открыты для использования jQuery, дайте мне знать, и я дам вам обновленный ответ, используя это.
Редактировать : ОК, я добавил версию jQueryпримера .Я решил не использовать плагин для самоописания, так как это всего 8 строк.Я также изменил этот конкретный пример, чтобы использовать атрибут title
для хранения текста по умолчанию для отображения.
Edit # 2 : Исходя из указанной проблемы @Meke, я сделалнезначительное обновление скриптов для обработки случая, когда FireFox перезагружает страницу и оставляет текст по умолчанию на месте, а затем (ранее) неправильно добавлял класс, чтобы указать, что это был текст по умолчанию.
IСледует также отметить, что ни один из моих примеров не включает обработчик событий submit
для формы, чтобы удалить значение для входных данных, которые все еще показывают значение по умолчанию.Это (довольно тривиальный код) - это то, что вы хотели бы добавить.
Также обратите внимание, что фактическое изменение value
кода input / textarea, подобного этому, может нарушить проверку формы, не подготовленной для ее понимания.