Кнопка 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