HTML5 ввел placeholder
атрибут для input
элементов, который позволяет отображать затененный текст по умолчанию.
К сожалению, Internet Explorer, включая IE 9, не поддерживает его.
Там уже есть некоторые скрипты-симуляторы. Обычно они работают, помещая текст по умолчанию в поле ввода, присваивая ему серый цвет и удаляя его снова, как только вы сфокусируете поле ввода.
Недостатком этого подхода является то, что заполнитель текста находится в поле ввода. Таким образом:
- сценарии не могут легко проверить, является ли поле ввода пустым
- обработка на стороне сервера должна проверять значение по умолчанию, чтобы не вставлять заполнитель в базу данных.
Я хотел бы иметь решение, где заполнитель текста не входит в сам ввод.
Лучшим в моем опыте является https://github.com/mathiasbynens/jquery-placeholder (рекомендуется html5please.com ). http://afarkas.github.com/webshim/demos/index.html также имеет хорошее решение среди своей гораздо более обширной библиотеки полифилов.
источник
С реализацией jQuery вы можете легко удалить значения по умолчанию, когда пришло время для отправки. Ниже приведен пример:
Я знаю, что вы ищете оверлей, но вы можете предпочесть простоту этого маршрута (теперь, зная, что я написал выше). Если так, то я написал это для своих собственных проектов, и это работает очень хорошо (требует jQuery) и занимает всего пару минут, чтобы реализовать для всего вашего сайта. Сначала он предлагает серый текст, светло-серый в фокусе и черный при наборе текста. Он также предлагает заполнитель текста всякий раз, когда поле ввода пусто.
Сначала настройте форму и включите атрибуты заполнителя в теги ввода.
Просто скопируйте этот код и сохраните его как placeholder.js.
Использовать только на одном входе
Вот как я рекомендую вам применять его во всех полях ввода на вашем сайте, когда браузер не поддерживает атрибуты-заполнители HTML5:
источник
После того, как вы попробовали некоторые предложения и увидели проблемы в IE, вот то, что работает:
https://github.com/parndt/jquery-html5-placeholder-shim/
Что мне понравилось - вы просто включите файл JS. Не нужно инициировать это или что-то.
источник
Следующее решение связывает входные текстовые элементы с атрибутом placeholder. Он эмулирует поведение заполнителя только для IE и очищает поле ввода при отправке, если оно не изменилось.
Добавьте этот скрипт, и IE, похоже, будет поддерживать HTML5-заполнители.
источник
Я предлагаю вам простую функцию:
И чтобы использовать это, назовите это так:
источник
Я нашел довольно простое решение, используя этот метод:
http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
это взлом JQuery, и он отлично работал на моих проектах
источник
Ты можешь использовать :
источник
Просто так:
источник
Я написал плагин jquery для решения этой проблемы .. это бесплатно ..
Справочник JQuery:
http://plugins.jquery.com/project/kegles-jquery-placeholder
Сайт: www.kegles.com.br/jquery-placeholder/
источник
Я придумал простой сценарий-заполнитель JQuery, который позволяет использовать собственный цвет и использует другое поведение для очистки входных данных при фокусировке. Он заменяет заполнитель по умолчанию в Firefox и Chrome и добавляет поддержку IE8.
источник
Placeholdr - это сверхлегкий вставной заполнитель jQuery polyfill, который я написал. Это меньше, чем 1 КБ.
Я убедился, что эта библиотека решает обе ваши проблемы:
Placeholdr расширяет функцию jQuery $ .fn.val (), чтобы предотвратить непредвиденные возвращаемые значения, когда текст присутствует в полях ввода в результате Placeholdr. Поэтому, если вы используете API jQuery для доступа к значениям ваших полей, вам не нужно ничего менять.
Placeholdr прослушивает отправку формы и удаляет текст заполнителя из полей, так что сервер просто видит пустое значение.
Опять же, моя цель с Placeholdr состоит в том, чтобы предоставить простое решение проблемы заполнителя. Дайте мне знать на Github, есть ли что-то еще, что вы хотели бы получить поддержку Placeholdr.
источник
Чтобы вставить плагин и проверить то есть отлично работаетjquery.placeholder.js
источник
Вот чистая функция javascript (не требуется jquery), которая создаст заполнители для IE 8 и ниже и работает также для паролей. Он читает атрибут заполнителя HTML5, создает элемент span за элементом формы и делает фон элемента прозрачным:
источник
ПРИМЕЧАНИЕ. Автор этого полифилла утверждает, что он «работает практически во всех браузерах, которые вы можете себе представить», но, согласно комментариям, это не так для IE11, однако IE11 имеет встроенную поддержку, как и большинство современных браузеров.
Placeholder.js - это лучшее заполнение заполнителя, которое я когда-либо видел, оно легкое, не зависит от JQuery, охватывает другие старые браузеры (не только IE) и имеет опции для скрытых при вводе и заполненных при запуске заполнителей.
источник
Я использую jquery.placeholderlabels . Это основано на этом и может быть продемонстрировано здесь .
работает в ie7, ie8, ie9.
Поведение имитирует текущее поведение Firefox и Chrome - когда текст «заполнителя» остается видимым в фокусе и исчезает только после того, как что-то напечатано в поле.
источник
Я создал свой собственный плагин jQuery после того, как разочаровался тем, что существующие шайбы скрывают местозаполнитель в фокусе, что создает плохой пользовательский интерфейс и также не соответствует тому, как Firefox, Chrome и Safari справляются с этим. Это особенно актуально в том случае, если вы хотите, чтобы ввод был сфокусирован при первой загрузке страницы или всплывающего окна, в то же время показывая заполнитель до тех пор, пока не будет введен текст.
https://github.com/nspady/jquery-placeholder-labels/
источник