- •Листинг 1.3. Обработка значений из формы
- •Листинг 1.4. Передача параметров по ссылке
- •Листинг 1.5. Параметр функции — имя формы
- •Листинг 1.6. Использование оператора присваивания для вычисления значения параметра обработки события
- •Листинг 1.8. Реакция на событие Change
- •Листинг 1.9. Обработка события Focus — объект формы получает фокус
- •Листинг 1.10. Обработка события: — потеря объектом фокуса
- •Листинг 1.10 Обработка события Select — выбор поля ввода элемента формы
- •Листинг 1.12. Обмен двух изображений
- •Листинг 1.13, а. Вертикальное графическое меню (вариант 1)
- •Листинг 1.13, б. Вертикальное графическое меню (вариант 2)
- •Листинг 1.15. Вычисление площади и периметра треугольника с помощью объекта Math
- •Листинг 1.16. Описание и использование гиперболических функций
Листинг 1.4. Передача параметров по ссылке
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
<title>Имена полей формы в качестве параметров</title>
<script language="JavaScript">
<!-- //
function carel (a, h )
{ var s= (a.value* h.value) / 2;
document.write ("Площадь равна ",s);
return s}
//-->
</script>
</HEAD>
<BODY>
<Р>Вычисление площади треугольника</Р>
<FORM name="forml">
Основание: <input type="text" size=7 name="stl"><hr>
Высота: <input type="text" size=7 name="st2"><hr>
<input type="button" value=Bычиcлить
onClick="carel(forml.stl, forml.st2)">
</FORM>
</BODY>
</HTML>
В следующем примере функции саге2 передается лишь один параметр — имя формы, а внутри функции определяются конкретные переданные значения.
Использование имени формы в качестве параметра функции
Напишем сценарий, определяющий площадь треугольника по заданному основанию и высоте. В качестве фактических параметров функции следует использовать имя формы.
Функция саге2 имеет один параметр obj, являющийся именем формы, в которой с помощью текстовых полей задаются пользователем значения. Для того чтобы использовать в вычислениях значения, заданные с помощью формы, требуется применить конструкцию obj. sti. value, т. е. указать имя поля формы, а затем выбрать значение (листинг 1.5).
Листинг 1.5. Параметр функции — имя формы
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
<title>Параметр функции - имя формы</title>
<script language="JavaScript">
<!-- //
function care2 (obj )
{var a=obj.stl.value
var h=obj.st2.value
var s= (a* h) /2;
document.write ("Площадь равна ", s);
return s }
//-->
</script>
</HEAD>
<BODY>
<Р>Вычисление площади треугольника</Р>
<FORM name="forml">
Основание: <input type="text" size=7 name="stl"><hr>
Высота: <input type="text" size=7 name="st2"><hr>
<input type="button" value=вычиcлить
onClick="care2(forml)">
</FORM>
</BODY>
</HTML>
В предыдущих примерах вычислялось значение, и для его вывода применялся метод write объекта document. Определим в форме поле Площадь, в которое будем помещать вычисленное значение. Пусть в теле документа описана форма со следующими полями:
<FORM name="forml">
Основание: <input type="text" size=7 name="stl"><hr>
Высота: <input type="text" size=7 name="st2"><hr>
<input type="button" value=Bычиcлить
onClick="care3(forml)">
Площадь <input type="text" size=7 name="res"><hr>
</FORM>
Опишем функцию сагез следующим образом:
function саrе3 (obj)
{var a=obj.stl.value
var h=obj.st2.value
var s= (a* h) / 2;
obj.res.valuers}
В результате щелчка по кнопке Вычислить в поле с именем res будет помешено требуемое значение. В приведенных примерах значением параметра обработки события было имя функции, которая вызывалась, когда происходило событие. В общем случае значением параметра обработки события могут быть и другие операторы языка JavaScript.
В следующем примере мы не будем описывать функцию для вычисления площади треугольника. В результате щелчка мышью по кнопке Вычислить в поле res будет помещено вычисленное значение. Значением параметра обработки события в этом случае выступает оператор присваивания.
Оператор присваивания
Создадим программу, позволяющую получать площадь треугольника по заданному основанию и высоте (листинг 1.6).