Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Событие focus в JavaScript (https://javascript.ru/forum/misc/42974-sobytie-focus-v-javascript.html)

Alexzord 16.11.2013 19:50

Событие focus в JavaScript
 
Помогите пожалуйста сделать такую вещь!

На плоскости заданы координаты трех точек. Напишите сценарий, который вычисляет площадь треугольника (использовать событие Focus).

Мне просто надо понять как это работает на примере, а то не доходит никак))

Alexzord 16.11.2013 21:10

Т.е. надо создать кнопку на которую надо нажать чтобы вывелся результат? Или как?

BETEPAH 16.11.2013 22:17

Alexzord,
Событие onfocus возникает, когда элемент получает фокус при навигации табуляцией или щелчком мыши.
Применимо к: a, area, label, input, select, textarea, button

Alexzord 16.11.2013 23:06

Цитата:

Сообщение от BETEPAH (Сообщение 281471)
Alexzord,
Событие onfocus возникает, когда элемент получает фокус при навигации табуляцией или щелчком мыши.
Применимо к: a, area, label, input, select, textarea, button

BETEPAH,
<!DOCTYPE html>
<HTML>
<HEAD>
<meta charset ="windows-1251">
<title>Обработка значений из формы</title>
<script language="JavaScript">
function S (Ax, Ay, Bx, By, Cx, Cy)
{
var s=math.abs(1/2(Ax-Cx)(By-Cy)-(Bx-Cx)(B2-C3));
return s
}
</script>
</HEAD>
<BODY>
<P>Пример сценария со значениями из формы</P>
<FORM name="form1">
Ax: <input type="text" size=5 name="st1"><hr>
Ay: <input type="text" size=5 name="st2"><hr>
Bx: <input type="text" size=5 name="st3"><hr>
By: <input type="text" size=5 name="st4"><hr>
Cx: <input type="text" size=5 name="st5"><hr>
Cy: <input type="text" size=5 name="st6"><hr>
<input onfocus="S(document.form1.st1.value, document.form1.st2.value, document.form1.st3.value, document.form1.st4.value
, document.form1.st5.value, document.form1.st6.value)">
</FORM>
</BODY>
</HTML>

Что тут не так?

BETEPAH 16.11.2013 23:21

Цитата:

Сообщение от Alexzord
Что тут не так?

Много чего. И все в одной строчке
Цитата:

Сообщение от Alexzord
var s=math.abs(1/2(Ax-Cx)(By-Cy)-(Bx-Cx)(B2-C3));

math.abs - не так,
умножения не так
B2, C3 - это вообще откуда?
ну и учитывайте, что .value вернет строчные значения

Alexzord 17.11.2013 00:18

Цитата:

Сообщение от Alexzord (Сообщение 281480)
BETEPAH,
Ой, умножения и В2 С3 это я просто тупанул, забыл) просто формула с инета, скопировал, недописал. Спасибо!

<HEAD>
<script language="JavaScript">
function S (Ax, Ay, Bx, By, Cx, Cy)
{
var s=math.abs(1/2*((Ax-Cx)*(By-Cy)-(Bx-Cx)*(By-Cy)));
return s
}
</script>
</HEAD>
<BODY>
<P>Пример сценария со значениями из формы</P>
<FORM name="form1">
Ax: <input type="text" size=5 name="Ax"><hr>
Ay: <input type="text" size=5 name="Ay"><hr>
Bx: <input type="text" size=5 name="Bx"><hr>
By: <input type="text" size=5 name="By"><hr>
Cx: <input type="text" size=5 name="Cx"><hr>
Cy: <input type="text" size=5 name="Cy"><hr>
<input type="text" width=30px name="rezult" onfocus="S(document.form1.Ax.value, document.form1.Ay.value, document.form1.Bx.value, document.form1.By.value
, document.form1.Cx.value, document.form1.Cy.value)">

</FORM>

Можете еще подсказать что в выделенной части у меня неправильно? Если value возвращает строчные, то их в числа переводить надо что ли? Я просто в 9 классе учусь, нам мало что объясняют, а задают много, надо врубиться в то, как эти события работают. Остальное вроде исправил. Спасибо

Alexzord 17.11.2013 00:34

Rise,BETEPAH,
Есть! Ура, работало, ребят!:) Спасибо всем!


Часовой пояс GMT +3, время: 09:29.