Использование JavaScript для обработки элементов форм.


Что такое формы?

Форма HTML - это раздел документа, в котором содержатся обычная информация, разметка и специальные элементы, называемые управляющими элементам (флажки, кнопки с зависимой фиксацией, меню и т.д.), а также метки этих управляющих элементов. Обычно пользователи "заполняют" форму, модифицируя управляющие элементы (вводя текст, выбирая пункты меню и т.д.) перед тем, как предоставить форму агенту пользователя для обработки (например, на Web-серввер, на почтовый сервер и т.д.) Кроме того отдельные элементы форм могут использоваться для других целей, например, для изменения содержимого Web-страницы, что позволяет добавить интерактивность сайту.

Вот пример кода Web-документа в котором имеется простая форма, включающая метки, кнопки с зависимой фиксацией, кнопку с независимой фиксациейи, кнопки очистки формы и отправки:

<HTML>
<HEAD>
<TITLE>Пример использования форм</TITLE>
<FORM action="http://somesite.com/prog/adduser" method="post">
<P>
<LABEL for="firstname">Имя: </LABEL>
<INPUT type="text" id="firstname"><BR>
<LABEL for="lastname">Фамилия: </LABEL>
<INPUT type="text" id="lastname"><BR>
<LABEL for="email">Адрес электронной почты: </LABEL>
<INPUT type="text" id="email"><BR>
<INPUT type="radio" name="sex" value="Male"> Мужской<BR>
<INPUT type="radio" name="sex" value="Female"> Женский<BR>
<input type="checkbox" name="uvl" value="uvlprog">Увлекаюсь программированием<BR>
<INPUT type="submit" value="Отправить"> <INPUT type="reset">
</FORM>
</BODY>
</HTML>
В результате на нашей страничке появится такая форма:




Мужской
Женский
Увлекаюсь программированием


 

Задание. Попробуйте набрать в текстовом редакторе "Блокнот" код этой странички. Сохраните получившийся файл под именем form1.html, а затем откройте его в броузере.

 


Элементы форм

Поля ввода и кнопки

Главными элементами формы являются область, предназначенная для ввода информации, с которой будет поизводиться работа и кнопки, при нажатии на которые проиходят события обработки данных этих форм:
1. Текстовое поле
- предназначено для ввода небольшого количества информации (например, личные данные). <INPUT type="text" id="email">
2. Текстовая область - предназначена для ввода большого количества данных.
<INPUT type="textarea" id="email">
3. Кнопки - позволяют осуществить процедуру обработки данны: <INPUT type="submit" value="Отправить"> - кнопка  обработки формы;<INPUT type="reset"> - очистка формы.

Переключатели

Данные удобно представлять с помощью элемента управления - переключателя (или радиокнопки) в том случае, когда из нескольких вариантов может быть выбран лишь один. Элемент переключатель отображается в виде круглой кнопки, существует только в составе группы подобных элементов. Может быть осуществлен выбор лишь одного элемента группы. Переключатель определяется в теге <input> значением radio параметра type. (<INPUT type="radio" name="pol" value="Male" checked ="false"> Мужской<BR>).Все элементы группы должны иметь одинаковое значение параметра name. Обязательный параметр value должен иметь уникальное значение для каждого элемента группы. Свойство checked выдает значение true, если переключатель выбран, и false - в противном случае.

Флажки

Элемент управления флажок используется в случае, когда из предложенных вариантов можно выбрать как один вариант, так и несколько. Каждый вариант выбора задается флажком, который можно либо установить, либо сбросить. Флажок определяется в теге <input> значением checkbox параметра type. Обязательным параметром является параметр value, значение которого будет передано на обработку в случае выбора кнопки.(<input type="checkbox" name="uvl" value="uvlprog">Увлекаюсь программированием).

Использование сценариев при обработке форм

Чтобы облегчить работу пользователя с формой, необходимо обеспечить интерактивность на страничке.  В этом нам поможет язык сценариев JavaScript. Рассмотрим примеры использования сценариев для работы с элементами форм. Рассмотрим примеры работы с кнопками:

<HTML>
<HEAD>
<TITLE>Вставка сценариев в документ</TITLE>
<SCRIPT language=JavaScript>
<!--
function MM_popupMsg(theMsg) { //v2.0
alert(theMsg);
}
function MM_displayStatusMsg(msgStr) { //v2.0
status=msgStr;
document.MM_returnValue = true;
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="white">
<TABLE width=600 border=0>
<TBODY>
<TR>
<TD width=395>
<P>Примеры работы с кнопками: <BR> Пример1 - реакция на событие Onclick - появление диалогового окна <br>
Пример2 - реакция на событие Onclick - событие на панели состояния<br>
Пример3 - реакция на событие Onclick - событие на панели состояния</P>
</TD>
<TD width=189>
<FORM name="" action="" method=post>
<P><INPUT onclick="MM_popupMsg('Вы нажали кнопку Пример1')" type=button value=Пример1 name=Пример1>
<P><INPUT onclick="MM_displayStatusMsg('Теперь вы нажали вторую кнопку!');return document.MM_returnValue" type=button value=Пример2 name=Пример2>
<P><INPUT class=lit onclick="MM_displayStatusMsg(' ');MM_popupMsg('Убрали событие из Status Massage');return document.MM_returnValue" type=button value="Пример 3" name="Пример 3 ">
</FORM></P></TD></TR></TBODY></TABLE>
</BODY>
</HTML>

В результате на Web-странице появится форма с кнопками:


Примеры работы с кнопками:
Пример1 - реакция на событие Onclick - появление диалогового окна
Пример2 - реакция на событие Onclick - событие на панели состояния
Пример3 - реакция на событие Onclick - убрать событие на панели состояния


Очень часто бывает необходимо проверить поля формы на правильность введенных данных. Например, При помощи языка JavaScript мы можем проверить правильность вводимой информации до того, как она будет передана по сети Интернет. Допустим, нам необходимо, чтобы пользователь ввел в текстовое поле данные не менее 5 символов. Рассмотрим  пример кода Web-странички, содержащую сценарий позволяющий обработать данные, введенные пользователем:

<html>
<head>
<title>Обработка форм</title>
<script language="JavaScript">
<!--
function test1(form) { // создаем функцию проверки данных
if (form.text1.value == ""|| form.text1.value.length < 5) // задаем условие правильности ввода
alert("Вы неправильно ввели информацию!"); //вывод сообщения если поле заполнено правильно
else {
alert("Здравствуйте, "+form.text1.value+"! Информация принята, спасибо!");//вывод сообщения если поле заполнено неправильно
}
}
// -->
</script>
</head>
<body>
<form>
<p>Введите своё имя (не менее 5 символов):<input type="text" name="text1" id="imya" size="40" alt="Не менее 5 символов"> </p>
<p align="center"><i><font size="4">
<input type="submit" value="Отправить сообщение" onClick="test1(this.form)" style="font-weight: 700; float:left" id="submit"></font></i>
<i><font size="4">
<input type="reset" value="Очистить поле" style="font-weight: 700; float:left"></font></i><br>
<br>
</p>
</form>
</body>
</html>

В результате на Web-страничке пользователь увидит следующее:


Введите своё имя (не менее 5 символов):




Задание. Попробуйте набрать в текстовом редакторе "Блокнот" код этой странички. Сохраните получившийся файл под именем form3.html, а затем откройте его в броузере. Попробуйте изменить код сценария так, чтобы минимальное количество вводимых символов равнялось семи.


 

JavaScript в математике  JavaScript в дизайне  

Тест по JavaScript

В начало страницы

Hosted by uCoz