Съвети за Javascript вътре в INPUT - Леонид Шевцов

Предговор 2011

За щастие, всички съвременни браузъри поддържат атрибута placeholder, който ви позволява да зададете подсказка вътре много просто и без Javascript:

Моля, използвайте този метод.

Ако искате да поддържате не толкова модерни браузъри, например IE под девет, ще трябва да добавите малко Javascript за съвместимост. Ако използвате jQuery, има страхотен плъгин jQuery.placeholder за него. Предимството на този подход е, че ако самият браузър поддържа свойството placeholder, тогава не е необходим javascript за него. А също и във факта, че този плъгин взима подсказки директно от HTML и не е необходимо да се декларират отделно, както направих в моя скрипт.

В името на историята и за хората, които искат да дават съвети с особен цинизъм, оставям оригиналната статия. Източниците също са стари - писал съм такива сценарии преди три години.

Статия от 2008 г

Извеждане на някакъв текст, когато е празно.

Сценарият е взет от архива на песни на lyrified.com, който написах през 2008 г.

Изявление на проблема: необходимо е някакъв текст, например подсказка, да се показва в празен цвят в заглушен цвят.

HTML маркиране

javascript

Ще трябва да съхраним няколко параметъра за всяко поле, така че създаваме глобален масив.

За да добавите конкретно поле към този масив, използвайте функцията:

Имайте предвид, че за да определите дали едно поле е празно или не, вече не е възможно да проверите value=='' . Следователно трябва да напишете функция:

Обработчик на събитие onFocus: Ако полето е празно (но показва подсказка), то трябва да бъде изчистено, когато фокусът бъде получен.

Освен това е зададен флагът isFocused.

Манипулатор на събитияonBlur: Ако потребителят е приключил с редактирането на полето и го е оставил празно, върнете подсказка.

Флагът isFocused се изчиства.

Използване

За всяко включено поле извикваме функцията inputHint_init: