Основы Web-инжиниринга. Часть 1. Громов Ю.Ю - 90 стр.

UptoLike

window.alert("Некорректные данные в поле формы.");
return false;
}
else
{
return true;
}
}
...
<FORM NAME=sub onSubmit="return test();" METHOD=post ACTION="javascript:window.alert('Данные под-
тверждены');void(0);">
<INPUT NAME=digit SIZE=1 MAXLENGTH=1><INPUT TYPE=submit VALUE="Отправить">
</FORM>
В этом примере следует обратить внимание на конструкцию return test();. Сама функция test() возвращает
значения true или false. Соответственно данные либо отправляются на сервер, либо нет.
Поля ввода (тег INPUT типа TEXT) являются одним из наиболее популярных объектов программирования на JavaScript.
Это объясняется тем, что, помимо использования по прямому назначению, их применяют и в целях отладки программ, вводя
в эти поля промежуточные значения переменных и свойств объектов.
<FORM>Число гипертекстовых ссылок:
<INPUT SIZE=10 MAXLENGHT=10 VALUE="&{document.links. length};">
до момента обработки формы.
<INPUT TYPE=button VALUE="Число всех гипертекстовых ссылок в документе"
onClick="window.document.forms[0].elements[0].value=document.links. length;">
<INPUT TYPE=reset VALUE="Установить по умолчанию">
</FORM>
В данном примере первое поле формыэто поле ввода. Используя подстановку, мы присваиваем ему значение по
умолчанию, а потом при помощи кнопки изменяем это значение.
Объект Text (текстовое поле ввода) характеризуется следующими свойствами, методами и событиями:
Свойства Методы События
DefaultValue
Form
Name
Type
Value
Blur()
Focus()
Select()
OnBlur
OnChange
OnFocus
Свойства объекта Textэто стандартный набор свойств поля формы. В полях ввода можно изменять только значение
свойства value.
Обычно при программировании полей ввода решают две типовых задачи: защита поля от ввода данных пользователем
и реакция на изменение значения поля ввода.
Для защиты поля от ввода в него символов применяют метод blur() в сочетании с обработчиком события onFocus:
<FORM>
<INPUT SIZE=10 VALUE="1-е значение"
onFocus="document.forms[0].elements[0].blur();">
<INPUT TYPE=button VALUE=Change
onClick="document.forms[0].elements[0].value=
'2-е значение';">
<INPUT TYPE=reset VALUE=Reset>
</FORM>
В этом примере значение поля ввода можно изменить, только нажав на кнопки Change и Reset. При попытке установить
курсор в поле ввода он немедленно оттуда убирается и, таким образом, значение поля не может быть изменено пользовате-
лем.
Реакция на изменение значения поля ввода обрабатывается посредством программы, указанной в атрибуте onChange:
<FORM METHOD="post" onSubmit="return false;">
<INPUT SIZE="15" MAXLENGHT="15" VALUE="Тест"
onChange="window.alert(document.forms[0].elements[0].value);">
<INPUT TYPE="button" VALUE="Изменить"
onClick="document.forms[0].elements[0].value='Change';">
</FORM>
Если установить фокус на поле ввода и нажать Enter, ничего не произойдет. Если ввести что-либо в расположенное вы-
ше поле ввода, а потом нажать на Enter, то появится окно предупреждения с введенным текстом (для Netscape Navigator) или
ничего не произойдет (для Internet Explorer последних версий). Если вы используете Internet Explorer последних версий, то
окно предупреждения появится только после установки фокуса вне поля ввода. Во-первых, обработчик onChange вызывается
только тогда, когда ввод в поле закончен. Событие не вызывается при каждом нажатии на кнопки клавиатуры при вводе тек-