[Содержание] [Предыдущая] [Следующая] [Индекс]

Form

Позволяет пользователю вводить текст и делать выбор из элементов объекта Form типа переключателей, "радио" кнопок и списков выбора. Вы можете также использовать форму, чтобы послать данные на сервер.

Объект client-side
Реализовано в Navigator 2.0
Navigator 3.0: добавлен метод reset.
Navigator 4.0: добавлен метод handleEvent.

Создание

HTML тэгом FORM. Двигатель времени выполнения JavaScript создает объект Form для каждого тэга FORM в документе. Вы обращаетесь к объектам FORM через свойство document.forms и через именованные свойства этого объекта.

Чтобы определить форму, используйте стандартный синтаксис HTML с добавлением обработчиков событий JavaScript. Если Вы определите значение аттрибута NAME, Вы сможете использовать это значение, чтобы индексировать массив forms. Кроме того, связанный объект document имеет именованное свойство для каждой именованной формы.

Обработчики событий

Описание

Каждая форма в документе это различные объекты. Вы можете ссылаться к элементам формы в Вашем коде, используя имя элемента (из аттрибута NAME) или массив Form.elements. Массив elements содержит запись для каждого элемента (типа объектов Checkbox, Radio или Text) в форме.

Если несколько объектов в одной и той же форме имеют одинаковый аттрибут NAME, автоматически создается массив данного имени. Каждый элемент в массиве представляет индивидуальный объект Form. Элементы индексируются в исходном порядке, начиная с 0. Например, если два элемента Text и элемент Textarea в одной и той же форме имеют аттрибут NAME, установленный в "myField", создается массив с элементами myField[0], myField[1] и myField[2]. Вы должны знать эту ситуацию в Вашем коде и знать, ссылается ли myField на одиночный элемент или на массив элементов.

Резюме Свойств

action
Отражает аттрибут ACTION.
elements
Массив, отражающий все элементы в форме.
encoding
Отражает аттрибут ENCTYPE.
length
Отражает число элементов в форме.
method
Отражает аттрибут METHOD.
name
Отражает аттрибут NAME.
target
Отражает аттрибут TARGET.

Резюме Методов

handleEvent
Вызывает обработчик для указанного события.
reset
Эмулирует нажатие кнопки мыши на кнопке сброса формы.
submit
Представляет на рассмотрение форму.

Примеры

Пример 1: Именованная форма. Следующий пример создает форму с именем myForm, которая содержит текстовые поля для имени и фамилии. Форма также содержит две кнопки, которые преобразуют имена в верхний регистр или в нижний регистр. Функция setCase показывает, как обратиться к форме по имени.

<HTML>
<HEAD>
<TITLE>Пример объекта Form</TITLE>
</HEAD>
<SCRIPT>
function setCase (caseSpec){
if (caseSpec == "upper") {
   document.myForm.firstName.value=document.myForm.firstName.value.toUpperCase()
   document.myForm.lastName.value=document.myForm.lastName.value.toUpperCase()}
else {
   document.myForm.firstName.value=document.myForm.firstName.value.toLowerCase()
   document.myForm.lastName.value=document.myForm.lastName.value.toLowerCase()}
}
</SCRIPT>
<BODY>
<FORM NAME="myForm">
<B>Имя:</B>
<INPUT TYPE="text" NAME="firstName" SIZE=20>
<BR><B>Фамилия:</B>
<INPUT TYPE="text" NAME="lastName" SIZE=20>
<P><INPUT TYPE="button" VALUE="Имя и фамилию в верхний регистр" NAME="upperButton"
   onClick="setCase('upper')">
<INPUT TYPE="button" VALUE="Имя и фамилию в нижний регистр" NAME="lowerButton"
   onClick="setCase('lower')">
</FORM>
</BODY>
</HTML>
Пример 2: Массив форм. Обработчик события onLoad в следующем примере показывает имя первой формы в диалоговом окне Alert.

<BODY onLoad="alert('Вы смотрите на форму ' + document.forms[0] + ' !')">
Если имя формы musicType, alert показывает следующее сообщение:

Вы смотрите на форму <object musicType> !
Пример 3: Обработчик события onSubmit. Следующий пример показывает обработчик события onSubmit, который определяет, представить ли на рассмотрение форму. Форма содержит один объект Text, куда пользователь вводит три символа. onSubmit вызывает функцию checkData, которая возвращает true, если имеются 3 символа; иначе, она возвращает false. Обратите внимание, что обработчик события onSubmit, не обработчик события onClick кнопки submit, вызывает функцию checkData. onSubmit также содержит выражение return, которое возвращает значение, полученное функцией call.

<HTML>
<HEAD>
<TITLE>Пример объекта Form/обработчика события onSubmit</TITLE>
<TITLE>Пример объекта Form</TITLE>
</HEAD>
<SCRIPT>
var dataOK=false
function checkData (){
if (document.myForm.threeChar.value.length == 3) {
   return true}
   else {
      alert("Введите точно три символа. " + document.myForm.threeChar.value +
         " не допустимо.")
      return false}
}
</SCRIPT>
<BODY>
<FORM NAME="myForm" onSubmit="return checkData()">
<B>Введите 3 символа:</B>
<INPUT TYPE="text" NAME="threeChar" SIZE=3>
<P><INPUT TYPE="submit" VALUE="Выполнить" NAME="submit1"
   onClick="document.myForm.threeChar.value=document.myForm.threeChar.value.toUpperCase()">
</FORM>
</BODY>
</HTML>
Пример 4: Метод submit. Следующий пример подобен предыдущему, за исключением того, что для представления на рассмотрение формы используется метод submit вместо объекта Submit. Обработчик события onSubmit формы не позволяет форме не быть переданной на рассмотрение. Форма использует обработчик события onClick, чтобы вызвать функцию checkData. Если значение допустимо, функция checkData представляет на рассмотрение форму, вызывая метод submit формы.

<HTML>
<HEAD>
<TITLE>Пример объекта Form/метода submit</TITLE>
</HEAD>
<SCRIPT>
var dataOK=false
function checkData (){
if (document.myForm.threeChar.value.length == 3) {
   document.myForm.submit()}
   else {
      alert("Введите точно три символа. " + document.myForm.threeChar.value +
         " не допустимо.")
      return false}
}
</SCRIPT>
<BODY>
<FORM NAME="myForm" onSubmit="alert('Форма послана.')">
<B>Введите 3 символа:</B>
<INPUT TYPE="text" NAME="threeChar" SIZE=3>
<P><INPUT TYPE="button" VALUE="Выполнить" NAME="button1"
   onClick="checkData()">
</FORM>
</BODY>
</HTML>

Смотрите также

Button, Checkbox, FileUpload, Hidden, Password, Radio, Reset, Select, Submit, Text, Textarea.

Свойства

action

Строка, определяющая URL адрессата для данных формы, которая представлена на рассмотрение.

Свойство объекта Form
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Navigator 4.0: Передача на рассмотрение формы в URL mailto: или news: требует привилегии UniversalSendMail. Для информации о защите в Navigator 4.0, смотрите Главу 7, "Защита JavaScript," в Руководстве по JavaScript.

Описание

Свойство action отражает аттрибут ACTION тэга FORM. Каждый раздел URL содержит различную информацию. Смотрите Location для описания компонентов URL.

Примеры

Следующий пример устанавливает свойство action формы musicForm в значение переменной urlName:

document.musicForm.action=urlName

Смотрите также

Form.encoding, Form.method, Form.target

elements

Массив объектов, соответствующих элементам формы (типа объектов checkbox, radio и Text) в исходном порядке.

Свойство объекта Form
Только для чтения
Реализовано в Navigator 2.0

Описание

Вы можете ссылаться к элементам формы в Вашем коде, используя массив elements. Этот массив содержит запись для каждого объекта в форме (Button, Checkbox, FileUpload, Hidden, Password, Radio, Reset, Select, Submit, Text или Textarea) в исходном порядке. Каждая "радио" кнопка в объекте Radio появляется как отдельный элемент в массиве elements. Например, если форма с именем myForm имеет текстовое поле и два переключателя, Вы можете ссылаться к этим элементам как myForm.elements[0], myForm.elements[1] и myForm.elements[2].

Хотя Вы можете также ссылаться к элементам формы, используя имя элемента (из аттрибута NAME), массив elements обеспечивает способ ссылаться к объектам Form программно без использования их имен. Например, если первый объект формы userInfo это userName объект Text, Вы можете определить его одним из следующих способов:

userInfo.userName.value
userInfo.elements[0].value
Значение каждого элемента в массиве elements полное выражение HTML для объекта.

Примеры

Смотрите примеры для Frame.

encoding

Строка, определяющая MIME кодирование формы.

Свойство объекта Form
Реализовано в Navigator 2.0

Описание

Свойство encoding первоначально отражает аттрибут ENCTYPE тэга FORM; однако, установка encoding переназначает аттрибут ENCTYPE.

Примеры

Следующая функция возвращает значение свойства encoding объекта musicForm:

function getEncoding() {
   return document.musicForm.encoding
}

Смотрите также

Form.action, Form.method, Form.target

length

Число элементов в форме.

Свойство объекта Form
Только для чтения
Реализовано в Navigator 2.0

Описание

Свойство form.length сообщает Вам, сколько элементов находится в форме. Вы можете получить ту же самую информацию, используюя form.elements.length.

method

Строка, определяющая, как поле формы вводит информацию, посылаемую серверу.

Свойство объекта Form
Реализовано в Navigator 2.0

Описание

Свойство method отражает аттрибут METHOD тэга FORM. Свойство method должно быть определено как "get" или "post".

Примеры

Следующая функция возвращает значение свойства method объекта musicForm:

function getMethod() {
   return document.musicForm.method
}

Смотрите также

Form.action, Form.encoding, Form.target

name

Строка, определяющая имя формы.

Свойство объекта Form
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство name первоначально отражает значение аттрибута NAME. Изменение свойства name переназначает эту установку.

Примеры

В следующем примере, функция valueGetter использует цикл for, чтобы выполнить итерации над массивом элементов формы valueTest. Окно msgWindow отображает имена всех элементов в форме:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

target

Строка, определяющая имя окна, куда направляется ответ после того, как форма была представлена на рассмотрение.

Свойство объекта Form
Реализовано в Navigator 2.0

Описание

Свойство target первоначально отражает аттрибут TARGET тэгов A, AREA и FORM; однако, установка target переназначает эти атрибуты.

Вы можете устанавливать target, используя строку, если строка представляет имя окна. Свойству target может быть присвоено значение выражения JavaScript или переменной.

Примеры

Следующий пример определяет, что ответ формы musicInfo отображается в окне msgWindow:

document.musicInfo.target="msgWindow"

Смотрите также

Form.action, Form.encoding, Form.method

Методы

handleEvent

Вызывает обработчик для указанного события.

Метод объекта Form
Реализовано в Navigator 4.0

Синтаксис

handleEvent(event)

Параметры

event
Имя события, для которого определенный объект имеет обработчик события.

Описание

Для информации об обработке событий, смотрите "Общая Информация о Событиях".

reset

Эмулирует нажатие кнопки мыши на кнопке сброса формы.

Метод объекта Form
Реализовано в Navigator 3.0

Синтаксис

reset()

Параметры

Нет.

Описание

Метод reset восстанавливает значения по умолчанию элементов формы. Кнопка сброса не должна быть определена для формы.

Примеры

Следующий пример показывает объект Text, в котором пользователь должен напечатать "CA" или "AZ". Обработчик события onChange объекта Text вызывает функцию, которая выполняет метод reset формы, если пользователь обеспечивает неправильный ввод. Когда метод reset выполняется, значения по умолчанию восстановлены и обработчик события onReset формы показывает сообщение.

<SCRIPT>
function verifyInput(textObject) {
   if (textObject.value == 'CA' || textObject.value == 'AZ') {
      alert('Правильный ввод')
   }
   else { document.myForm.reset() }
}
</SCRIPT>
<FORM NAME="myForm" onReset="alert('Пожалуйста введите CA или AZ.')">
Введите CA или AZ:
<INPUT TYPE="text" NAME="state" SIZE="2" onChange=verifyInput(this)><P>
</FORM>

Смотрите также

onReset, Reset

submit

Представляет на рассмотрение форму.

Метод объекта Form
Реализовано в Navigator 2.0

Синтаксис

submit()

Параметры

Нет.

Защита

Navigator 3.0: Метод submit не выполняется без подтверждения, если action формы равен mailto:, news: или snews: URL. Пользователи могут представлять на рассмотрение формы с такими URL, щелкая представляющую на рассмотрение кнопку, но диалог подтверждения сообщит им, что они собираются отдать частную информацию.

Navigator 4.0: Передача на рассмотрение формы в URL mailto: или news: требует привилегию UniversalSendMail. Для информации о защите в Navigator 4.0, смотрите Главу 7, "Защита JavaScript," в Руководстве по JavaScript.

Описание

Метод submit представляет на рассмотрение определенную форму. Он выполняет то же самое действие, как и представляющая на рассмотрение кнопка.

Используйте представляющий на рассмотрение метод, чтобы послать данные обратно HTTP серверу. Метод submit возвращает данные, используя или "get" или "post," как определено в Form.method.

Примеры

Следующий пример представляет на рассмотрение форму с именем musicChoice:

document.musicChoice.submit()
Если musicChoice первая созданная форма, Вы также можете представить ее на рассмотрение следующим образом:

document.forms[0].submit()
Смотрите так же пример для Form.

Смотрите также

Submit, onSubmit


[Содержание] [Предыдущая] [Следующая] [Индекс]

Последняя Модификация: 10/31/97 12:31:54


Права © 1997 Netscape Communications Corporation



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz