Форма – это набор элементов, таких как поля ввода, поля выбора, переключатели. Форма позволяет создавать интерактивные страницы, т.е. организовывать диалог с пользователем.
Форма создается с помощью тега:
GET - POST
Главное отличие методов POST и GET заключается в способе передачи информации. В методе GET параметры передаются через адресную строку, т.е. по сути в HTTP-заголовке запроса, в то время как в методе POST параметры передаются через тело HTTP-запроса и никак не отражаются на виде адресной строки.
http://www.htmlbook.ru/cgi-bin/handler.cgi?nick=%C2%E0%ED%FF+%D8%E0%EF%EE%F7%EA%E8%ED&page=5
Атрибуты формы
accept-charset - Устанавливает кодировку, в которой сервер может принимать и обрабатывать данные формы
Элементы формы
Текстовые поля - для ввода текстовой информации
maxlen - максимально допустимой длиной текста
size - количество знакомест
Value - в поле будет изначально отображаться значение данного атрибута
Тег
Создает список вариантов, которые можно выбирать при наборе в текстовом поле. Изначально этот список скрыт и становится доступным при получении полем фокуса или наборе текста.
Выберите любимого персонажа:
list="character">
color
Позволяет выбрать цвет из палитры цветов.
<p>Выберите цвет <input type="color" name="selectcolor">p>
datetime-local
Выбор даты и с локальным временем в календаре.
<p>Выберите дату <input type="datetime-local" name="selectdatetimelocal" >p>
Текстовое поле для ввода адресов электронной почты. По умолчанию элемент принимает только один адрес, но указав булев атрибут multiple="multiple" можно разрешить пользователю ввод нескольких адресов через запятую.
number
Поле числового ввода. Визуально похоже на текстовое, но с добавлением кнопок-стрелок, позволяющих увеличивать и уменьшать значение.
range
определяет поле, которые может содержать значения в определенном интервале. Отображается как ползунок, который можно перетаскивать мышкой. Вы можете ограничивать диапазон принимаемых чисел с помощью атрибутов min (минимальное допустимое число) и max (максимальное допустимое число).
Атрибуты input
Autofocus - Автоматически устанавливает фокус в поле формы. В таком поле можно сразу набирать текст без явного щелчка по нему курсором мыши.
Disabled - Блокирует доступ и изменение поля формы. Оно в таком случае отображается серым и недоступным для активации пользователем. Заблокированное в поле значение не передается на сервер.
Placeholder - Выводит подсказывающий текст.
Readonly - Устанавливает, что поле не может изменяться пользователем.
Step - Шаг приращения для числовых полей.
Value - Значение элемента.
Multiple - указывает, что данное поле может принимать несколько значений одновременно
Required - указывает, что данное поле должно быть обязательно заполнено перед отправкой.
Pattern - Указывает регулярное выражение, согласно которому требуется вводить и проверять данные в поле формы. Если присутствует атрибут pattern, то форма не будет отправляться, пока поле не будет заполнено правильно.
CSS+формы
Псевдокласс :focus
- Псевдокласс :focus определяет стиль для элемента получающего фокус. Например, им может быть текстовое поле формы, в которое устанавливается курсор. Такими элементами могут быть теги и
HTML
CSS
.form-text:focus {
background: #ffe; /* Цвет фона */ border: 1px solid #29B0D9; /* Параметры рамки */
}
Псевдокласс :required
Применяет стилевые правила к тегу , у которого установлен атрибут required. Он позволяет выделять поля обязательные к заполнению перед отправкой формы.
HTML
id="email" type="text“ required>
Псевдокласс :optional
Применяет стилевые правила к тегу , у которого не задан атрибут required. Он позволяет выделять поля обязательные к заполнению перед отправкой формы. Таким образом :optionalприменяется к необязательным полям формы.
Имя: name="name">
type="submit" value="Отправить">
Псевдокласс :valid
Применяется к полям формы, содержимое которых проходит проверку в браузере на соответствие указанному типу. Например, для type="number" вводится число, а не буквы, для type="email“ корректный адрес электронной почты. Проверяет на соответствие регулярному выражению в атрибуте pattern type="email" required>
HTML
CSS
input:valid { background: #dfd; /* Зеленый цвет фона */ }
Псевдокласс :invalid
Применяется к полям формы, содержимое которых не соответствует указанному типу. Например, для type="number" должно вводиться число, а не буквы, для type="email" корректный адрес электронной почты. type="email" required>
HTML
CSS
input:invalid { background: #fdd; /* Красный цвет фона */ }
Язык текста.
Псевдокласс lang определяет язык текста того или иного элемента или документа в целом.
HTML
lang="ru">Русский текст выделен синим
lang="en">English text is chosen red
Псевдокласс :checked
Псевдокласс :checked применяется к элементам интерфейса, таким как переключатели (checkbox) и флажки (radio), когда они находятся в положение «включено». Переключение элементов в такое состояние происходит с помощью атрибута checked тега или пользователем.
Псевдокласс :indeterminate
Псевдокласс :indeterminate задает стиль для элементов форм, таким как флажки и переключатели, когда они находятся в неопределенном состоянии. К примеру, если из группы флажков ни один не помечен, то флажки находятся в указанном состоянии.
.checkbox:checked
{
box-shadow: 0 0 0 3px rgba(255,255,0,.5);
}
Жадный поиск берем выражение ".+". И строку
1. Первый символ шаблона – это кавычка ".
2. Кавычка найдена, далее движок проверяет, есть ли соответствие для остальной части паттерна.(точка). Она обозначает «любой символ», так что следующая буква строки 'w' вполне подходит
3. Далее «любой символ» повторяется, так как стоит квантификатор .+. Движок регулярных выражений берёт один символ за другим, до тех пор, пока у него это получается. В данном случае это означает «до конца строки»:
4. Итак, текст закончился, движок регулярных выражений больше не может найти «любой символ», он закончил повторения для .+ и переходит к следующему символу шаблона. Следующий символ шаблона – это кавычка. Её тоже необходимо найти, чтобы соответствие было полным.
5. Иными словами, он сокращает текущее совпадение на один символ:
6. Движок продолжает отступать, он уменьшает количество повторений точки '.' до тех пор, пока остаток паттерна, то есть в данном случае кавычка '"', не совпадёт:
Результат
В жадном режиме (по умолчанию) регэксп повторяет квантификатор настолько много раз, насколько это возможно, чтобы найти соответствие.
Ленивый режим
Ленивый режим работы квантификаторов – противоположность жадному, он означает «повторять минимальное количество раз».
1. Первый шаг – тот же, кавычка '"' найдена на 3-й позиции:
2. Второй шаг – тот же, находим произвольный символ '.':
3. А вот дальше – так как стоит ленивый режим работы +, то движок не повторит точку (произвольный символ) ещё раз, а останавливается на достигнутом и пытается проверить, есть ли соответствие остальной части шаблона, то есть '"':Если бы остальная часть шаблона на данной позиции совпала, то совпадение было бы найдено. Но в данном случае – нет, символ 'i' не равен „"“.
4. Движок регулярных выражений увиличивает количество повторений точки на одно и пытается найти соответствие остатку шаблона ещё раз:
Ленивость распространяется только на тот квантификатор, после которого стоит ?.
Ленивый режим без необходимости лишний раз квантификатор не повторит.
Задание: Составить регулярное выражение для:
Дата (напр., 21/3/2006)
Адрес email
Тег HTML
url
Трехзначное число с 2 знаками после точки (цена)
Маска ввода в полях формы на jQuery
masked input — очередной плагин предназначенный для javascript фремворка jQuery, с его помощью можно установить строгий формат ввода (маску ввода) в текстовые поля формы что хорошо подойдет для ввода времени, даты, телефона и т.п.
Плагин корректно работает во всех браузерах начитаная с IE6 +, FF 1.5 +, Opera, Safari, Chrome.
Подключение:
1 |
Настройка
Далее нужно вызвать функцию плагина для всех элементов формы для которых надо создать маску, и передать в нее необходимые параметры:
jQuery(function($){
$("#date").mask("99/99/9999");
$("#phone").mask("(999) 999-9999");
$("#tin").mask("99-9999999");
$("#ssn").mask("999-99-9999");
});
Функция плагина принимает 2 параметра первый — сама маска для ввода, второй — объект дополнительных параметров.
a — трактуется как буквенный символ из диапазона (A-Z,a-z)
9 — трактуется как числовой символ (0-9)
* — трактуется как алфавитно цифровой символ (A-Z,a-z,0-9)
Пример
В объекте дополнительных параметров можно указать заполнитель маски ввода, по умолчанию он равен _, к примеру вы захотели изменить его на пробел
jQuery(function($){
$("#product").mask("99/99/9999",{placeholder:" "});
});
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.