Кнопка submit на HTML-форме. Кнопка submit отправляет форму на сервер.
JavaScript 1.1: добавлено свойство |
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.
| Свойство |
Описание
|
|
| |
|---|
| Метод | Описание |
|---|---|
| |
| |
| |
|
Кроме того, этот объект наследует методы watch
и unwatch из объекта Object.
Создаётся объект Submit по имени submitButton. Текст "Done"
отображается на поверхности кнопки.
<INPUT TYPE="submit" NAME="submitButton" VALUE="Done">
См. примеры для Form.
Button, Form,
Reset, Form.submit,
onSubmitУбирает фокус с кнопки submit.
blur()
Submit.focusСимулирует щелчок мыши по кнопке submit, но не
запускает обработчик onClick
объекта.
click()
Переходит к кнопке submit и передаёт ей фокус.
focus()
Submit.blurСсылка объекта, специфицирующая форму, содержащую кнопку 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
FormВызывает обработчик для специфицированного события.
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.valueДля всех 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">
Submit.nameДата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation