Создание формы в HTML. Создание и работа с формами в html Отключение списка и мультивыбор

Очень часто при регистрациях или анкетирования на сайтах, вас просят сделать некий выбор из выпадающего списка . Например выбрать вашу страну из множества других стран. Все это разные элементы формы, они могут быть и по разному оформлены: от простого HTML5 до сложного CSS3 .

Сегодня мы разберем один из таких примеров оформления поля выбора, применяя HTML/CSS и иконку Font Awesome . Но начнем мы как обычно с разметки документа.

HTML-код

Внутри тега select находятся пункты выпадающего списка option . В свою очередь теги select и form вложены в общий контейнер div . Тег form должен присутствовать обязательно, если данные впоследствии будут отправляться на сервер.







Позиционируем контейнер с классом box в центре окна.

Box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

Заранее подключаем иконочный шрифт до закрывающего тега head .

Стилизация селектора select

Задаем размеры для поля выбора - 250x50 пикселей и делаем поля для пунктов по 10 пикселей со всех сторон.

Box select{
width: 250px;
height: 50px;
padding: 10px;
}

Убираем рамку и обводку:

Border: none;
outline: none;

Прописываем фиолетовый цвет фона, название, цвет и размер шрифта для списков.

Background: #ab05af;
font-family: "Russo One", sans-serif;
color: #fff;
font-size: 20px;

Создаем вокруг поля тень.

Box-shadow: 0 5px 20px rgba(0,0,0,.3);

В целом select box готов и работает, но смотрится он скучно, да и треугольник, в который нужно будет попасть мышкой очень маленький. А если я так подумал, значит и дизайнер так же подумает, надо заранее подготовиться к разным вариантам.

Вероятнее всего дизайнер поставит на место крошечного треугольника - иконку из шрифта Font Awesome .

Так намного красивее смотрится, а писать код все равно надо верстальщику. Какое здесь может быть решение? Мы не будем трогать HTML-код , а задействуем псевдо-элемент before .

Псевдо-элемент before для.box

Первое, что надо сделать - это прописать код иконки и название шрифта "Font Awesome 5 Free" . Выбираем на сайте fontawesome.com нужную иконку, обозначающую "выбор" и копируем её код.



.box::before {
content: "\f150";
font-family: "Font Awesome 5 Free";
position: absolute;
top: 0;
right: 0;
width: 50px;
height: 50px;
text-align: center;
line-height: 50px;
color: #fff;
font-size: 28px;
background: #da00e0;
pointer-events: none;
}

Далее позиционируем абсолютно, указываем размеры 50x50, белый цвет у иконки, фон светло-фиолетовый. Задаём очень важное свойство pointer-events: none . Это значит, что псевдо-элемент before не является объектом события мыши, а значение none предлагает событию "выбора мышью" проходить на нижний слой и обращаться к элементу, находящемуся под ним - к тому маленькому треугольнику. Треугольник никуда не исчез, просто он находится под псевдо-элементом before , служащий лишь украшательством. Кликая по красивой иконке, на самом деле срабатывает "некрасивый" треугольник и мы делаем свой выбор.

Приветствую всех читателей моего блога. Сегодня я вам расскажу, как делать в html выпадающий список, какие теги и атрибуты нужно использовать, а также для каких целей это вам может понадобиться.

Тег select и создание выпадающего списка

Итак, выпадающий список в html создается с помощью парного тега select , в который помещаются парные теги option . Именно в них записываются все варианты, которые будут предложены при клике на список. Пример:

Выберите животное

При этом то, что выводится между открывающей и закрывающей частью option , вы увидите на экране, а значение, которое содержится в атрибуте value , будет отправлено на сервер или обработано с помощью скрипта.

Список в html может быть обычным, и с множественным выбором. Чтобы сделать возможность выбирать несколько пунктов, нужно добавить в select пустой атрибут multiple . Чтобы выбрать несколько значений, удерживайте ctrl и жмите левую кнопку мыши.

Другой полезный атрибут – size . Он позволяет выбирать, сколько строк будет показывать в раскрывающемся списке.

Еще один атрибут – disabled . Он делает список недоступным для нажатия и просмотра пунктов, но при этом его видно на странице.

Required – html5-атрибут. Если он задан, форма не будет отправлена без выбора значения из раскрывающегося списка. В общем, он становится обязательным для выбора. Пока атрибут работает далеко не во всех браузерах.

Атрибуты тега option

Собственно, select служит лишь контейнером для пунктов списка, сами они задаются с помощью тега option . У него есть параметр value , как мы уже выяснили, но кроме этого еще есть и другие. Например:
Disabled – делает пункт списка недоступным для выбора. Отображается он будет, но кликнуть на него нельзя.

Selected – элемент будет выбранным по умолчанию. В обычном списке этот атрибут без значения можно задать только одному пункту, во множественном – нескольким.

Важное уточнение для правильной работы

Если результат выбора нужно будет отправить на сервер или обработать через скрипты, то помещайте select в форму, чтобы не возникало никаких ошибок. Дело в том, что раскрывающийся список изначально создавался именно как один из элементов формы.

Для чего нужен select

Обычно он может пригодиться вам, если вы делаете на своем сайте регистрация, либо хотите провести опрос. Элемент имеет недостаток – он не очень хорошо меняет внешний вид через css.

По умолчанию при нажатию на список появляется синяя рамка, таким же цветом выделяются те пункты списка, на которые наведен курсор. Чтобы при нажатии рамка не появлялась, либо выделялась другим цветом, можно написать такой селектор:

Select:focus{
outline: 1px solid orange;
}

Теперь рамка будет оранжевой.

Option тоже можно стилизовать, но вот при наведении на пункт его фон становится синим и через стили это почему-то не меняется.

Option{
color: brown;
background: aqua;
}

Кстати, может кто-то из вас знает, как изменить фоновый цвет при наведении на пункт через css?

Вот, собственно, пока и все по тегу select и его применению. Никаких дополнительных возможностей в html для него не предусмотрено. Все остальные операции с ним можно производить с помощью javascript и php. Например, если вам нужно создать список для выбора года рождения и там может быть 80-100 разных вариантов, не будете же вы вручную их писать?

Как раз для этого и нужно использовать программирование, а именно цикл. Ну да ладно, это уже тема для другого разговора, а на сегодня это вся информация, которую я хотел вам сообщить. С другими основными тегами в html вы можете познакомиться .

window.onresize = … ;

Событие onresize объекта window ответственно за изменение размеров окна браузера. Поэтому событие и принадлежит объекту окно — window .

Поскольку среди элементов html нету тега, отождествленного с окном браузера, то обработать в javascript событие onresize можно при помощи присваивания функции свойству объекта window.

Рассмотрим на примере:

Пример: Написать скрипт, который при изменении размера окна вызывает сообщение «Размер окна изменен!»


Скрипт:

window.onresize = function message() {alert("Размер окна изменен!");}

HTML-код:

пожалуйста, измените размер этого окна.

Объект javascript выпадающий список — select

Объект select — выпадающий список — предоставляет список значений для выбора. Выбор может быть как одного пункта, так и нескольких пунктов сразу. Это сложный объект, обращение к которому в скрипте происходит и как к объекту select , и как к его пункту option .

Свойства объекта select:

  • length — количество пунктов списка
  • name — атрибут name
  • options — массив пунктов
  • selectedIndex — индекс выбранного пункта option
  • defaultSelected — выбранный пункт option по умолчанию
  • selected — выбранный пункт

Получить значение выпадающего списка (select) в javascript можно через свойство value . Но есть и другие способы.

Рассмотрим пример:

Пример: Разместить выпадающий список из трех пунктов — гороов: Москва , Санкт-Петербург , другой . По щелчку на кнопке получить значение свойства value выбранного option (пункта) списка и вывести его на экран


HTML-код:
<form name = "f1" > Город:<br > <select name = "town" id = "s1" > <option value = "msk" > Москва</ option > <option value = "spb" > Санкт-Петербург</ option > <option value = "other" > другой</ option > </ select > <input type = "button" onclick = "f()" value = "ok" > </ form >

Город:

Идентификация значения списка:

function f() { var a= document.getElementById ("s1" ) .value ; alert(a) ; }

function f(){ var a=document.getElementById("s1").value; alert(a); }

Задание js13_1. При изменении пункта списка добавлять в текстовое поле текст из выбранного пункта меню (option).

Подробно:

  • Добавьте текстовое поле и список select с четырьмя пунктами option с текстом.
  • В открывающий тег select добавьте обработчик события onchange .
  • Отождествите обработчик события onchange с функцией, изменяющей текст в текстовом поле (в текстовое поле поместите значение выбранного пункта меню).

Дополните код:

Скрипт:

function check() { document.getElementById ("t1" ) .value = ...; }

function check() { document.getElementById("t1").value= ...; }

<input type = "text" id = "t1" > <br > <select id = "menu1" onchange = "..." > <option value = "1" > 1</ option > <option value = "2" > 2</ option > <option value = "3" > 3</ option > </ select >


Задание js13_2. Создать страницу проверки знаний учащегося с вопросом: «В каких единицах измерения измеряется работа?» и двумя ответами: «Моль» (неправильный) и «Джоуль» (правильный), выполненными в виде элемента меню со списком (select). Функцию проверки запускать



Рассмотрим пример использования свойства объекта select — selectedIndex — выбранный пункт option:

Пример: Выводить в текстовое окно индекс выбранной альтернативы:

Автозавод: Выбрали индекс:

В данном примере при изменении пункта меню генерируется событие onChange . В качестве значения атрибута onChange выполняется скрипт: происходит обращение к текстовому полю через массив элементов формы (текстовое поле — это первый элемент массива, т.к. 0-й элемент — это выпадающий список select). В качестве значения текстового поля указывается номер выбранного пункта списка (selectedIndex).

Объект javascript option — пункт меню

Пункт меню select в javascript — option — рассматривается как отдельный объект со своими свойствами:

Доступ к конкретному пункту меню происходит через коллекцию (массив) options :

<form name = "f1" > <select name = "s1" > <option value = "1" > 1</ option > <option value = "2" > 2</ option > <option value = "3" > 3</ option > </ select >

Скрипт доступа к первому пункту выпадающего меню (нулевой элемент массива options):

function myFunc(){ document.f1.s1.options....=...; ...; }

Рассмотрим пример использования свойства text объекта option:

Пример: При изменении выбора пункта списка в текстовое поле выводить текст из выбранной альтернативы списка

<form > <select id = "s1" onChange = "document.getElementById("t1").value= document.getElementById("s1").options.text;" > <option > ГАЗ <option > ВАЗ </ select > <input type = "text" id = "t1" > </ form >

Рассмотрим еще одно решение с использованием списка множественного выбора:

Пример: При изменении списка множественного выбора в текстовое окно выводить индексы выбранных альтернатив
(установить для списка атрибут multiple)



<form > Набор канцелярских товаров: <select onChange = "form.elements.value=""; for(i=0;i<6;i++) if(form.elements.options[i].selected==true) form.elements.value = form.elements.value+i;" multiple> <option > Карандаши <option > Авторучки <option > Линейки <option > Тетради <option > Стерки <option > Кнопки </ select > Выбраны позиции: <input name = "s1" size = "7" maxlength = "7" > </ form >

Набор канцелярских товаров: Выбраны позиции:

Пример:

Пример: По щелчку на абзац (тег p) изменять содержимый текст данного тега и выполнять центрирование текста в нем

<p onclick = "this.outerHTML="

измененный текст</ p > "">изменяемое содержимое</ p >

измененный текст

"">изменяемое содержимое

Описание

HTML тег может содержать два и более тегов

Ширина раскрывающегося списка будет определяться самым длинным текстом, указанным в теге

Атрибуты

autofocus: Указывает, что элемент должен автоматически получить фокус при загрузке веб-страницы. Возможные значения логического атрибута autofocus: Пример » form: Определяет форму с которой связан элемент. В качестве значения атрибута выступает идентификатор элемента
. Этот атрибут позволяет размещать элемент Пример »

Примечание: из-за различных способов выбора нескольких элементов и дополнительного уведомления пользователей о доступности выбора нескольких вариантов, рекомендуется вместо раскрывающегося списка использовать флажки.

Name: Определяет имя для раскрывающегося списка. Оно может быть использовано для доступа к данным формы после ее отправки или для ссылки на элемент в JavaScript. size: Указывает количество видимых вариантов в раскрывающимся списке. Если значение атрибута size больше 1, но меньше общего количества вариантов списка, то браузер автоматически добавит полосу прокрутки, чтобы указать, что есть еще варианты для просмотра.

HTML теги, определяющие HTML формы на сайте

Создаем сайты и отдельные страницы в сети интернет для общения с посетителями.

HTML формы используются для регистрации посетителей на сайте, для интерактивных опросов и голосований, позволяют отправлять сообщения, совершать покупки и так далее. HTML Форма создается с одной целью: сбор и последующая передача информации на обработку программному сценарию или по электронной почте.

Пример HTML формы | Вход на сайт

Теги, атрибуты и значения

  • - определяют форму.
  • name="" - определяет имя формы.
  • method="" - определяет способ отправки данных из формы. Значения: "get" (по умолчанию) и "post" . Чаше используется метод "post" , так как позволяет передавать большие объемы данных.
  • action="" - определяет url по которому данные отправляются на обработку. В нашем случае - enter_data.php ..
  • - определяют такие элементы формы как кнопки, переключатели, текстовые поля для ввода данных.
  • type="text" - определяет текстовое поле для ввода данных.
  • type="password" - определяет поле для ввода пароля, при этом текст отображается в виде звездочек или кружочков.
  • type="checkbox" - определяет переключатель.
  • type="hidden" - определяет скрытый элемент формы - используется для передачи дополнительной информации на сервер.
  • size="25" - длина текстового поля в символах.
  • maxlength="30" - максимально допустимое количество вводимых символов.
  • value="" - определяет значение, которое будет отправлено на обработку если относится к радиобутонам или переключателям. Значение данного атрибута в составе текстового поля или кнопки будет показано как, например, Вася или Вход в примере выше.

Пример HTML формы | Комментарии на сайте

Пример HTML формы




Имя



Mail








Теги, атрибуты и значения

  • action="http://сайт/comments.php" - определяет url по которому будут отправлены данные из формы.
  • id="" - определяет имя, идентификатор элемента формы.
  • name="" - определяет имя элемента формы.
  • - определяют текстовое поле в составе формы.
  • cols="" - определяет количество колонок текстового поля формы.
  • rows="" - определяет количество рядов текстового поля формы.

Если между поместить текст, он будет показан внутри поля как пример, который легко удалить.

Пример HTML формы | Выпадающий список

HTML формы




Теги, атрибуты и значения

  • - определяют список с позициями для выбора.
  • size="" - определяeт количество видимых позиций списка. Если значение равно 1 , мы имеем дело с выпадающим списком.
  • - определяют позиции (пункты) списка.
  • value="" - содержит значение, которое будет отправлено формой по указанному url на обработку.
  • selected="selected" - выделяет позицию списка в качестве примера.

Пример HTML формы | Список с полосой прокрутки

Увеличив значение атрибута size="" , мы получим список с полосой прокрутки:

Первая позиция Вторая позиция Третья позиция Четвертая позиция

HTML формы




Для этого варианта применим флажок multiple="multiple" , который делает возможным выбор нескольких позиций. Его отсутствие разрешает выбрать только один пункт.

  • type="submit" - определяет кнопку.
  • type="reset" - определяет кнопку сброса.
  • value="" - определяет надпись на кнопке.
  • Смотрите дополнительно:

    Похожие публикации