Я хочу, чтобы в окне поиска на моей веб-странице слово «Поиск» отображалось серым курсивом. Когда поле получает фокус, оно должно выглядеть как пустое текстовое поле. Если в нем уже есть текст, текст должен отображаться нормально (черный, не курсив). Это поможет мне избежать беспорядка, удалив этикетку.
Кстати, это поиск Ajax на странице , поэтому он не имеет кнопки.
javascript
html
Майкл Л Перри
источник
источник
Ответы:
Другой вариант, если вы хотите использовать эту функцию только для новых браузеров, это использовать поддержку, предлагаемую атрибутом placeholder HTML 5 :
В отсутствие каких-либо стилей в Chrome это выглядит так:
Вы можете попробовать демо здесь и в HTML5 Placeholder Styling с помощью CSS .
Обязательно проверьте совместимость браузера с этой функцией . Поддержка в Firefox была добавлена в 3.7. Хром в порядке. Internet Explorer добавил поддержку только в 10. Если вы нацелены на браузер, который не поддерживает вводимые заполнители, вы можете использовать плагин jQuery с именем jQuery HTML5 Placeholder , а затем просто добавить следующий код JavaScript, чтобы включить его.
источник
Это известно как водяной знак текстового поля, и это делается с помощью JavaScript.
или, если вы используете JQuery, гораздо лучший подход:
источник
Вы можете установить заполнитель, используя
placeholder
атрибут в HTML ( поддержка браузера ).font-style
Иcolor
может быть изменен с помощью CSS (хотя поддержка браузера ограничена).источник
Вы можете добавить и удалить специальный класс CSS и изменить входное значение
onfocus
/onblur
с помощью JavaScript:Затем укажите класс подсказки со стилем, который вы хотите использовать в своем CSS, например:
источник
Лучший способ - подключить события JavaScript, используя какую-то библиотеку JavaScript, такую как jQuery или YUI, и поместить ваш код во внешний .js-файл.
Но если вы хотите быстрое и грязное решение, это ваше встроенное HTML-решение:
Обновлено : добавлены запрошенные раскраски.
источник
Я разместил решение для этого на моем сайте некоторое время назад. Чтобы использовать его, импортируйте один
.js
файл:Затем аннотируйте любые входные данные, которые вы хотите иметь подсказками, с помощью класса CSS
hintTextbox
:Более подробная информация и пример доступны здесь .
источник
Вот функциональный пример с кешем библиотеки Google Ajax и некоторой магией jQuery.
Это будет CSS:
Это будет код JavaScript:
И это будет HTML:
Надеюсь, этого достаточно, чтобы вы заинтересовались как GAJAXLibs, так и jQuery.
источник
Теперь это стало очень легко. В html мы можем дать атрибут placeholder для элементов ввода .
например
проверьте более подробную информацию: http://www.w3schools.com/tags/att_input_placeholder.asp
источник
Для пользователей jQuery: ссылка jQuery от naspinski не работает, но попробуйте это: http://remysharp.com/2007/01/25/jquery-tutorial-text-box-hints/
В качестве бонуса вы получаете бесплатное руководство по плагину jQuery. :)
источник
Я нашел плагин jQuery jQuery Watermark лучше, чем тот, который указан в верхнем ответе. Почему лучше? Потому что он поддерживает поля ввода пароля. Кроме того, установить цвет водяного знака (или других атрибутов) так же просто, как создать
.watermark
ссылку в файле CSS.источник
Это называется "водяной знак".
Я нашел плагин jQuery для водяного знака jQuery, который, в отличие от первого ответа, не требует дополнительной настройки (исходный ответ также требует специального вызова перед отправкой формы).
источник
Используйте jQuery Form Notifier - это один из самых популярных плагинов jQuery, и он не страдает от ошибок, которые есть в некоторых других предложениях jQuery (например, вы можете свободно стилизовать водяной знак, не беспокоясь о том, будет ли он сохранен в база данных).
jQuery Watermark использует один стиль CSS непосредственно для элементов формы (я заметил, что свойства размера шрифта CSS, применяемые к водяному знаку, также влияют на текстовые поля - не то, что я хотел). Плюсом jQuery Watermark является то, что вы можете перетаскивать текст в поля (jQuery Form Notifier не позволяет этого).
Другой, предложенный некоторыми другими (тот, что на digitalbrush.com), случайно отправит значение водяного знака в вашу форму, поэтому я настоятельно рекомендую против этого.
источник
Используйте фоновое изображение для рендеринга текста:
Тогда все, что вам нужно сделать, это определить
value == 0
и применить правильный класс:И код JavaScript jQuery выглядит так:
источник
Вы можете легко получить окошко с надписью «Поиск», а затем при изменении фокуса удалить текст. Что-то вроде этого:
<input onfocus="this.value=''" type="text" value="Search" />
Конечно, если вы сделаете это, собственный текст пользователя исчезнет при нажатии. Таким образом, вы, вероятно, хотите использовать что-то более надежное:
источник
Когда страница загружается впервые, в текстовом поле появится Поиск, серого цвета, если вы этого хотите.
Когда поле ввода получает фокус, выделите весь текст в окне поиска, чтобы пользователь мог просто начать печатать, что приведет к удалению выделенного текста в процессе. Это также будет хорошо работать, если пользователь захочет использовать окно поиска во второй раз, поскольку ему не придется вручную выделять предыдущий текст, чтобы удалить его.
источник
Мне нравится решение "Знания Chikuse" - просто и понятно. Нужно добавить вызов размытия, когда загрузка страницы будет готова, что установит начальное состояние:
источник
Вы хотите назначить что-то вроде этого для onfocus:
а это на онблур
(Вы можете использовать что-то более умное, например, функцию фреймворка, чтобы переключать имена классов, если хотите.)
С некоторыми CSS, как это:
источник
Я использую простое однострочное решение JavaScript, которое прекрасно работает. Вот пример как для текстового поля, так и для текстовой области:
Единственным недостатком является проверка в $ _POST или в Javascript для проверки, прежде чем делать что-либо со значением поля. Это означает, что значение поля не «Текст».
источник
источник
Простой тег HTML 'обязательный' является полезным.
Он указывает, что поле ввода должно быть заполнено перед отправкой формы или нажатием кнопки «Отправить». Вот пример
источник
Пользователь AJAXToolkit с http://asp.net
источник