Создание контейнера с Web-формой поиска
Создание контейнера с Web-формой поиска
Откроем Web-страницу index.htm в Блокноте, найдем созданный в главе 20 фрагмент кода, создающий Web-форму поиска, и удалим его. Вместо него мы вставим сразу после открывающего тега <BODY> код, приведенный в листинге 21.4.
Листинг 21.4
<DIV ID="csearch">
<FORM ACTION="#">
<P>
<INPUT TYPE="search" ID="keyword" NAME="keyword" SIZE="20">
<INPUT TYPE="button" ID="find" NAME="find" VALUE="Искать!"><BR>
<SELECT ID="search_in" NAME="search_in">
<OPTION>В названиях</OPTION>
<OPTION>В ключевых словах</OPTION>
<OPTION SELECTED>В названиях и ключевых словах</OPTION>
</SELECT>
</P>
<UL ID="search_result">
</UL>
</FORM>
</DIV>
Он создает контейнер csearch, а в нем — Web-форму поиска. В Web-форме присутствуют те же элементы управления: поле ввода искомого слова, кнопка запуска поиска и раскрывающийся список для выбора режима поиска. Ниже Web-формы мы поместили список search_result, в котором будут выводиться результаты поиска.
Далее нам нужно задать стиль для только что созданного контейнера csearch, который сделает его свободно позиционируемым. Откроем таблицу стилей main.css в Блокноте и добавим в нее CSS-код, приведенный в листинге 21.5.
Листинг 21.5
#csearch { background-color: #F8F8F8; position: absolute;
left: 600px; top: 0px; padding: 2px; border: thin solid #B1BEC6 }
Здесь мы, собственно, делаем контейнер csearch свободно позиционируемым, задаем для него начальные координаты, внутренние отступы и рамку. Внутренние отступы будут совсем небольшими, чтобы контейнер сохранял компактность, а рамка — сплошной — пусть Web-форма поиска будет сразу заметна.
А еще мы указываем для контейнера csearch цвет фона — такой же, как у Web- страницы. Если мы этого не сделаем, фон контейнера будет прозрачным, и сквозь него станет просвечивать содержимое Web-страницы, расположенное "ниже" кон- тейнера. А это будет выглядеть очень некрасиво.
Раз уж мы правим представление Web-страницы, давайте сразу зададим стили для элементов управления и списка search_result, чтобы сделать их привлекательнее. Рассмотрим эти стили отдельно друг от друга.
Мы задаем для абзаца, в котором поместили элементы управления, и списка search_result нулевые внешние отступы, чтобы сделать контейнер csearch компактнее:
#csearch P,
#search_result { margin: 0px }
Для элементов управления назначаем размер шрифта 10 пунктов:
INPUT, SELECT { font-size: 10pt }
Дело в том, что размер шрифта по умолчанию, принятый для элементов управления, слишком мал, что понравится далеко не всем посетителям.
Убираем у пунктов списка search_result маркеры и слишком большой отступ слева, где, собственно, выводятся эти маркеры:
#search_result LI { list-style-type: none; margin-left: -40px; }
Так мы сделаем контейнер csearch еще компактнее.
На этом с Web-формой и элементами управления покончено.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Добавление CSS-анимаций для улучшения взаимодействия с формой
Добавление CSS-анимаций для улучшения взаимодействия с формой Можно пойти еще дальше со свойством box-shadow: что если тень также будет анимированной – например, пульсирующей, показывая, что ожидается ввод. Давайте кратко погрузимся в мир CSS-анимаций, чтобы создать такой
Создание объекта для обмена данными между XML-файлом и формой
Создание объекта для обмена данными между XML-файлом и формой В отличие от рассмотренного выше сценария PhoneBook.wsf, в сценарии IEPhoneBook.js функции для работы с записной книжкой не будут разделены по разным заданиям, поэтому для более четкой организации сценария мы воспользуемся
Настройка поиска
Настройка поиска Параметры поиска, принятые в системе по умолчанию, позволяют находить файлы точно и быстро. Однако при необходимости вы можете изменить некоторые параметры системы поиска, сместив баланс «глубина – точность – быстрота поиска» в одну или другую
Создание контейнера с Web-формой поиска
Создание контейнера с Web-формой поиска Откроем Web-страницу index.htm в Блокноте, найдем созданный в главе 20 фрагмент кода, создающий Web-форму поиска, и удалим его. Вместо него мы вставим сразу после открывающего тега <BODY> код, приведенный в листинге 21.4. Листинг 21.4 <DIV
Работа с формой
Работа с формой Основное назначение формы – создание удобного интерфейса для редактирования данных. В данном разделе будет изучено практическое использование созданной ранее формы Основная форма Клиенты .Добавление записиВы уже знаете, что последняя запись в таблице
82. Используйте подходящие идиомы для реального уменьшения емкости контейнера и удаления элементов
82. Используйте подходящие идиомы для реального уменьшения емкости контейнера и удаления элементов РезюмеДля того чтобы действительно избавиться от излишней емкости контейнера, воспользуйтесь трюком с использованием обмена, а для реального удаления элементов из
7.1. Перебор элементов контейнера
7.1. Перебор элементов контейнера ПроблемаИмеется диапазон итераторов — скорее всего, из стандартного контейнера — и стандартные алгоритмы не удовлетворяют вашим требованиям, так что вам требуется выполнить итерации самостоятельно.РешениеДля доступа к элементам
7.2. Удаление объектов из контейнера
7.2. Удаление объектов из контейнера ПроблемаТребуется удалить объекты из контейнера.РешениеДля удаления одного или диапазона элементов используйте метод контейнера erase или один из стандартных алгоритмов. Пример 7.2 показывает пару различных способов удаления элементов
11.3. Вычисление суммы и среднего значения элементов контейнера
11.3. Вычисление суммы и среднего значения элементов контейнера ПроблемаТребуется вычислить сумму и среднее значение чисел, содержащихся в контейнере.РешениеДля расчета суммы можно использовать функцию accumulate из заголовочного файла <numeric> и затем разделить ее на
11.7. Инициализация контейнера случайными числами
11.7. Инициализация контейнера случайными числами ПроблемаТребуется заполнить произвольный контейнер случайными числами.РешениеМожно использовать функции generate и generate_n из заголовочного файла <algorithm> совместно с функтором, возвращающим случайные числа. Пример 11.13
Совет 1. Внимательно подходите к выбору контейнера
Совет 1. Внимательно подходите к выбору контейнера •Стандартные последовательные контейнеры STL: vector, string, deque и list.•Стандартные ассоциативные контейнеры STL: set, multiset, map и multimap.•Нестандартные последовательные контейнеры: slist и rope. Контейнер slist представляет односвязный
Совет 7. При использовании контейнеров указателей, для которых вызывался оператор new, не забудьте вызвать delete для указателей перед уничтожением контейнера
Совет 7. При использовании контейнеров указателей, для которых вызывался оператор new, не забудьте вызвать delete для указателей перед уничтожением контейнера Контейнеры STL отличаются умом и сообразительностью. Они поддерживают итераторы для перебора как в прямом, так и в
Совет 20. Определите тип сравнения для ассоциативного контейнера, содержащего указатели
Совет 20. Определите тип сравнения для ассоциативного контейнера, содержащего указатели Предположим, у нас имеется контейнер set, содержащий указатели string*, и мы пытаемся включить в него несколько новых элементов:set<string*> ssp; // ssp = "set of string ptrs"ssp.insert(new string("Anteater"));ssp.insert(new
Dura lex: суд признал торговлю «подержанными» музыкальными файлами формой пиратства Юрий Ильин
Dura lex: суд признал торговлю «подержанными» музыкальными файлами формой пиратства Юрий Ильин Опубликовано 02 апреля 2013Сервис ReDigi, который с 2011 года торговал «подержанными» музыкальными файлами, потерпел на днях довольно серьёзное судебное поражение. Федеральный
4.2.5. Создание групп быстрого поиска
4.2.5. Создание групп быстрого поиска В группу быстрого поиска или смарт-группу заносится список контактных лиц, удовлетворяющий заданным критериям поиска Этот список будет постоянно обновляться по мере добавления в адресную книгу новых записей. Например, вы можете