§ 23. Элементы JavaScript для создания веб-страниц

23.2. Форма. Элементы управления

Один из основных элементов взаимодействия между пользователем и веб-страницей — форма.

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

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

  1. Однострочное текстовое поле (text).
    Обладают свойствами: name (имя объекта); value (введенный текст); defaultValue (текстовая строка, заданная по умолчанию). Сразу после отображения поля редактирования свойства defaultValue и value хранят одинаковые строки.
    Методы: focus() — передает фокус ввода полю редактирования (поле становится активным, включается текстовый курсор, ожидается ввод текста); blur() — выключает фокус; select() — выделяет содержимое поля.
  2. Кнопки (button, reset, submit).
    Обладают свойствами: name (имя объекта); value (надпись на кнопке). Метод: click() — вызов этого метода тождественен щелчку мышкой по кнопке.
  3. Флажок (checkbox).
    Кроме свойств name и value, обладает свойством checked (состояние флажка: true — флажок установлен, false — флажок не установлен).
    Метод: click() — вызов этого метода меняет состояние флажка.
  4. Переключатель (radio).
    Обладает свойствами name, value и checked, а также свойством length (количество переключателей в группе).
    Метод: click() — вызов метода включает переключатель.
  5. Выпадающий список (select).

Большинство элементов формы создаются тегом <input>. Вид элемента определяет значение основного атрибута type тега <input> .

Рассмотрите примеры 23.7 — 23.9.

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

Проверка данных формы (валидация формы) позволяет удостовериться в том, что форма заполнена правильно. В примере 23.10 по нажатию на кнопку «Проверить» в диалоговое окно выводится сообщение о состоянии флажка.

Пример 23.7. Задание элементов управления с помощью тега <input>.

1) Текстовое поле:

<input type = "text"

       size = "40">

2) Кнопка:

<input type"button">

3) Переключатели:

<input type"radio">

4) Флажки:

<input type"checkbox">
Пример 23.8. Создание формы с текстовым полем и кнопкой.

1) Html-код:

<form name = "calc">

<p>Сколько будет 97 + 16?</p>

  <input type = "text"

         name = "rez">

  <input type = "button"

         value = "Готово"

         onClick = "check();">

</form>

2) Скрипт:

function check(){

 if (calc.rez.value == "113")

      alert("Правильно!");

 else alert("Неправильно!");

}

3) Страница с вариантами заполнения текстового поля и диалоговые окна с соответствующим результатом:

Пример 23.9. Создание формы с флажком и кнопкой.

1) Html-код:

<form name = "f">

  Флажок

  <input type = "checkbox"

         name = "c">

  <p>

  Состояние флажка можно<br>

  изменить и этой кнопкой

  </p>

  <input

   type = "button"

   value = "Смена состояния"

   onclick =

     "document.f.c.click();">

</form>

2) Страницы с флажком в разных состояниях:

Пример 23.10. Проверка состояния флажка.

1) Скрипт:

function click() {

 if(document.f.ch.checked==false)

   alert("Пожалуйста, отметьте

                    согласие");

 else

   alert("Ваше согласие

                     принято");

2) Html-код:

<form name = "f">

  <div>

    Валидация формы позволяет

    удостовериться в том, что

    форма заполнена правильно!

  </div>

  Согласен

  <input type = "checkbox"

         name = "ch">

  <br>

  <input type = "button"

         value = "Проверить"

         onclick = "click();">

</form></form>