Передача параметра по ссылке
Напишем сценарий, определяющий площадь тругольника по заданному основанию и высоте. В качестве фактических параметров функции будем использовать имена текстовых полей формы.
(dmi4)
<html>
<head>
<title>dmi3</title>
<script language="JavaScript">
<!-- //
function care1 (a, h)
{ var s= (a.value*h.value) / 2;
document.write ("PPPPP", s);
return s}
//-->
</script>
</head>
<body>
<p>ssss</p>
<form name="form1">
OOOO: <input type="text" size=7 name="st1"><hr>
VVVV: <input type="text" size=7 name="st2"><hr>
<input type="button" value=Вычислить onClick="care1(form1.st1,form1.st2)">
</form>
</body>
</html>
Использование имени формы в качестве параметра функции
Напишем сценарий, определяющий площадь треугольника по заданному основанию и высоте. В качестве фактических параметров функции следует использовать имя формы. Функция care2 имеет один параметр obj, являющийся именем формы, в которой с помощью текстовых полей задаются пользователем значение. Для того чтобы использовать в вычислениях значение, заданные с помощью формы, требуется применянить конструкцию obj.st1.value, т.е. указать имя поля формы, а затем выбрать значение.
(dmi5)
<html>
<head>
<title>dmi3</title>
<script language="JavaScript">
<!-- //
function care2 (obj)
{ var a=obj.st1.value
var h=obj.st2.value
var s= (a*h) / 2;
document.write ("PPPPP", s);
return s}
//-->
</script>
</head>
<body>
<p>ssss</p>
<form name="form1">
OOOO: <input type="text" size=7 name="st1"><hr>
VVVV: <input type="text" size=7 name="st2"><hr>
<input type="button" value=Вычислить onClick="care2(form1)">
</form>
</body>
</html>
Оператор присваивания
В этом примере мы не будем описывать функцию для вычисления площади треугольника. В результате щелчка по кнопке ВЫЧИСЛИТЬ в поле res будет помещено вычисленное значение. Значением параметра обработки события в этом случае выступает оператор присваивания.
Пример. Создадим программу, позволяющую получать площадь треу гольника по заданному основанию и высоте.
<html>
<head>
<body bgcolor=aqua>
<form name="form1">
Основание:< input type="text" size=7 name="st1">
Высота: <input type="text" size=7 name="st2">
< input type="button" value=Вычисли
onClick="form1.res.value=(form1.st1.value*form1.st2.value)/2">
Площадь <input type="text" size=7 name="res">
< input type="reset" value=Обновить> <hr> </form>< /body>
</html>
Значению form1 полю с именем res присвоили (form1.st1.value*form1.st2.value)/2,т.е. введённое значение в форму с именем form1 и поле с именем st1 умножили на введённое значение в форму с именем form1 и поле с именем st2. Получаем: form1.res.value присвоили (form1.st1.value*form1.st2.value)/2
Задание: Прочитать. Проверить правильность работы программ.
Лабораторная работа 3
Площадь квадрата. События Change.
Напишем сценарий, определяющий площадь квадрата по заданной стороне. Площадь должна вычисляться в тот момент, когда изменилось значение его стороны. Зададим форму, в которой определены два текстовых поля: одно для длины стороны квадрата, другое для вычисления площади. Кнопка Обновить очищает поля формы. Площадь квадрата вычисляется при возникновении события Change, которое происходит в тот момент, когда значение элемента формы с именем num1 изменилось, и элемент потерял фокус.
(dmi7)
<html>
<head>
<title>dmi7</title>
<script>
function srec(obj)
{obj.res.value=obj.num1.value*obj.num1.value}
</script>
</head>
<body>
<p>ssss</p>
<form name="form1">
OOOO: <input type="text" size=7 name="num1"
onChange="srec(form1)"><hr>
VVVV: <input type="text" size=7 name="res"><hr>
<input type="reset" value=Обновить>
</form>
</body>
</html>