|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JavaScript 1.1: добавлено свойство type; добавлены обработчики onBlur и onFocus; добавлены методы blur и focus. |
HTML-тэгом INPUT с "submit" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующий объект Submit и помещает его в массив elements соответствующего объекта Form. Вы получаете доступ к к объекту Submit по индексу в этом массиве. Можно индексировать массив цифрами или, если имеются, по значениям атрибута NAME.
Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. книгу Клиентский JavaScript. Руководство.
Объект Submit на форме выглядит так:

Объект Submit является элементом формы и обязан быть определён в тэге FORM.
Щелчок по кнопке submit отправляет форму по URL, специфицированному в свойстве action формы. Эта акция всегда загружает клиенту новую страницу; это может быть та же страница, что и текущая, если action это специфицирует или если не специфицирует.
Обработчик onClick кнопки submit не может предотвратить отправку формы; используйте вместо этого обработчика обработчик onSubmit или метод submit вместо объекта Submit. См. примеры для объекта Form.
| Свойство |
Описаниеform
| name
| type
| value |
|---|
| Метод | Описание |
|---|---|
blur | |
click | |
focus | |
handleEvent |
Кроме того, этот объект наследует методы watch и unwatch из объекта Object.
Создаётся объект Submit по имени submitButton. Текст "Done" отображается на поверхности кнопки.
<INPUT TYPE="submit" NAME="submitButton" VALUE="Done">
См. примеры для Form.
Убирает фокус с кнопки submit.
blur()
Симулирует щелчок мыши по кнопке submit, но не запускает обработчик onClick объекта.
click()
Переходит к кнопке submit и передаёт ей фокус.
focus()
Ссылка объекта, специфицирующая форму, содержащую кнопку submit.
Каждый элемент формы имеет свойство form которое является ссылкой на родительскую форму элемента. Это свойство используется в основном с обработчиками событий, где может понадобиться обратиться к другому элементу текущей формы.
В этом примере показана форма с несколькими элементами. Если пользователь щёлкает на кнопке button2, функция showElements выводит alert-диалог с именами всех элементов формы myForm.
<SCRIPT>
function showElements(theForm) {
str = "Form Elements of form " + theForm.name + ": \n "
for (i = 0; i < theForm.length; i++)
str += theForm.elements[i].name + "\n"
alert(str)
}
</SCRIPT>
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
onClick="this.form.text1.value=this.form.name">
<INPUT NAME="button2" TYPE="submit" VALUE="Show Form Elements"
onClick="showElements(this.form)">
</FORM>
Диалог alert выведет следующий текст:
Form Elements of form myForm:
text1
button1
button2
Вызывает обработчик для специфицированного события.
handleEvent(event)
event | Имя события, для которого специфицированный объект имеет обработчик. |
Об обработке событий см. книгу Клиентский JavaScript. Руководство.
Строка, специфицирующая имя submit-кнопки.
JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет значение атрибута.
Не путайте свойство name с текстом, отображаемым на поверхности Submit-кнопки. Свойство value специфицирует текст на кнопке. Свойство name не выводится на экран; оно используется для программного обращения к кнопке.
Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form-объект. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Submit на одной форме имеют в своих атрибутах NAME значение "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о такой ситуации в Вашем коде и знать, ссылается ли myField на единственный элемент или на массив элементов.
Здесь функция 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>")
}
}
Для всех Submit-объектов значение свойства type будет "submit". Это свойство специфицирует тип элемента формы.
Записываются значения свойства type каждого элемента формы.
for (var i = 0; i < document.form1.elements.length; i++) {
document.writeln("<BR>type is " + document.form1.elements[i].type)
}
Строка, отражающая значение атрибута VALUE кнопки submit.
JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Если атрибут VALUE специфицируется в HTML, свойство value будет содержать эту же строку, и она будет отображаться на поверхности кнопки. Если атрибут VALUE не специфицируется в HTML, свойство value кнопки будет иметь значение "Submit Query".
Не путайте свойство value со свойством name. Свойство name не отображается на экране; оно используется для программного обращения к кнопке.
Следующая функция вычисляет свойство value группы кнопок и выводит его в окне msgWindow:
function valueGetter() {
var msgWindow=window.open("")
msgWindow.document.write("submitButton.value is " +
document.valueTest.submitButton.value + "<BR>")
msgWindow.document.write("resetButton.value is " +
document.valueTest.resetButton.value + "<BR>")
msgWindow.document.write("helpButton.value is " +
document.valueTest.helpButton.value + "<BR>")
msgWindow.document.close()
}
Будут выведены следующие значения:
Query Submit
Reset
Help
Предполагается, что кнопки были определены так:
<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="button" NAME="helpButton" VALUE="Help">
Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation
|