10.3.4. Разбор сценария

Начнем с элементов формы:

<FORM NAME="myform" action="">

  Ваше имя:

      <INPUT TYPE="text" NAME="fname"><p>

  Ваша фамилия:

      <INPUT TYPE="text" NAME="lname"><p>

  <INPUT TYPE="button" VALUE="Отправить" onClick="doit()">

  </FORM>

Видите, мы дали форме имя myform. Текстовое поле ввода для имени пользователя названо fname, а поле для фамилии — lname. Теперь у каждого элемента есть имя.

Данные, которые введет пользователь, станут значением ( value ) соответствующих текстовых полей. Понятно? Тому, что написано в поле fname, будет присвоено имя fname.

Когда пользователь нажмет на кнопку (обработчик события onClick ), выполнится функция doit().

Теперь посмотрим на функцию:

function doit()

{

  alert("document.myform.fname.value — это  "

+ document.myform.fname.value)

  var greeting="Привет, "

  alert(greeting + document.myform.fname.value + " "

+ document.myform.lname.value)

  alert("Длина имени "

+ document.myform.fname.value.length)

}

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

Мы следуем иерархии объектов: за объектом документ следует объект форма (на него указывает имя формы, myform ), за ним — объект поле формы (на него указывает имя поля, fname ), за ним — свойство значение ( value ). Без свойства value данные, переданные пользователем, не попали бы в иерархическую команду.

Дальше идет переменная greeting (приветствие). Содержимое greeting выводится с помощью команды alert(greeting).

Когда пользователь нажимает на кнопку, всплывает окно с его именем.

Второе окно включает в себя переменную greeting. Появляется надпись: "Привет, (имя) (фамилия)", которая составлена с помощью данных, полученных через форму. Еще раз обратите внимание на value.

Наконец всплывает третье окно c неким текстом и вызывает команду: document.myform.fname.value.length. Эта команда выводит длину ( length ) слова, введенного в поле формы fname. Если fname содержит имя "Коля", то длина равна 4. Команда length следует за value. Таким образом она подсчитает количество букв в тексте. length — это тоже свойство.