Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2017, 08:39   #1
Sureprise
 
Регистрация: 04.10.2017
Сообщений: 7
По умолчанию Вычислить площадь треугольника, используя событие Select - JavaScript

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

Как использовать select в html
Код:
<!DOCTYPE html>
<HTML>
<HEAD>
<script language="JavaScript">
    function getData() {
        var aX = +document.getElementById("Ax").value,
                aY = +document.getElementById("Ay").value,
                bX = +document.getElementById("Bx").value,
                bY = +document.getElementById("By").value,
                cX = +document.getElementById("Cx").value,
                cY = +document.getElementById("Cy").value;
        document.getElementById("result").innerHTML = getSquare(aX, aY, bX, bY, cX, cY);
    }
  
    function getSquare(aX, aY, bX, bY, cX, cY) {
        return Math.abs(aX * (bY - cY) + bX * (cY - aY) + cX * (aY - bY)) / 2;
    }
</script>
</HEAD>
<BODY>
<FORM name="154">
<p>A : x<input type="text" size="4" id="Ax" />, y<input type="text" size="4" id="Ay" /></p>
<p>B : x<input type="text" size="4" id="Bx" />, y<input type="text" size="4" id="By" /></p>
<p>C : x<input type="text" size="4" id="Cx" />, y<input type="text" size="4" id="Cy" /></p>
<p>Полощадь равна: <span id="result">0</span></p>
<p><input type="button" value="Найти площадь" onclick="getData()" /></p>
<input type="reset" class="reset1" value="Сбросить">
</FORM>
</BODY>
</HTML>
Sureprise вне форума Ответить с цитированием
Старый 30.10.2017, 09:42   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

простите, а при чём здесь событие select ?
(это событие возникает в input type=text в случае, когда там текст выделяется.
см. например, js_events_examples
Что Вы собираетесь в координатах выделять и зачем?

либо имелось в виду событие получения фокуса (см. onfocus / onblur)
либо событие onchange.

вот, посмотрите пример:
Код:

<!DOCTYPE html>
<HTML>
<HEAD>
    <meta charset="utf-8">

<script language="JavaScript">
    document.addEventListener('DOMContentLoaded', function() {

        // document.querySelector("input").addEventListener("change", myFunc);
	var x = document.querySelectorAll("input[type=text]");
	var i;
	for (i = 0; i < x.length; i++) {
		x[i].addEventListener("change", getData);
        }
    });
 
    function getData() {
        var aX = +document.getElementById("Ax").value,
                aY = +document.getElementById("Ay").value,
                bX = +document.getElementById("Bx").value,
                bY = +document.getElementById("By").value,
                cX = +document.getElementById("Cx").value,
                cY = +document.getElementById("Cy").value;
        document.getElementById("result").innerHTML = getSquare(aX, aY, bX, bY, cX, cY);
    }
  
    function getSquare(aX, aY, bX, bY, cX, cY) {
        return Math.abs(aX * (bY - cY) + bX * (cY - aY) + cX * (aY - bY)) / 2;
    }
</script>
</HEAD>
<BODY>
<FORM name="154">
<p>A : x<input type="text" size="4" id="Ax" />, y<input type="text" size="4" id="Ay" /></p>
<p>B : x<input type="text" size="4" id="Bx" />, y<input type="text" size="4" id="By" /></p>
<p>C : x<input type="text" size="4" id="Cx" />, y<input type="text" size="4" id="Cy" /></p>
<p>Полощадь равна: <span id="result">0</span></p>
<p><input type="button" value="Найти площадь" onclick="getData()" /></p>
<input type="reset" class="reset1" value="Сбросить">
</FORM>
</BODY>
</HTML>
p.s. извините, если неправильно понял задание и ответил не то...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.10.2017, 10:01   #3
Sureprise
 
Регистрация: 04.10.2017
Сообщений: 7
По умолчанию Мое задание

У меня так в задание написано
Код:
На плоскости заданы координаты трех точек. Напишите сценарий, который вычисляет площадь треугольника (использовать событие Select).
Вот оно, но я так и не понял как в этом коде использовать Select
Sureprise вне форума Ответить с цитированием
Старый 30.10.2017, 11:04   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Sureprise Посмотреть сообщение
Вот оно, но я так и не понял как в этом коде использовать Select
имхо, глупое, непрактичное (исключительно учебное) задание.
просто на понимание того, как подписываться на события.

Как всё же сделать задание?

Смотрим, например, лабораторные работы на JavaScript.

читаем:
Цитата:
Пример 2. Вычисление площади квадрата.

Напишем сценарий, определяющий площадь квадрата по заданной стороне. Площадь должна вычисляться в тот момент, когда изменилось значение его стороны. Пусть форма содержит два текстовых поля: одно для длины стороны квадрата, другое для вычисленной площади. Кнопка Обновить очищает поля формы. Площадь квадрата вычисляется при возникновении события change, которое происходит в тот момент, когда значение элемента формы с именем num1 изменилось, и элемент потерял фокус. HTML-код представлен в примере 2.

Листинг 2. Реакция на событие Change



Событие Focus возникает в момент, когда пользователь переходит к элементу формы с помощью клавиши <Таb> или щелчка мыши. Событие "потеря фокуса" (Blur) происходит в тот момент, когда элемент формы теряет фокус. Событие select вызывается выбором части или всего текста в текстовом поле. Например, щелкнув дважды мышью по полю, мы выделим поле, наступит событие select, обработка которого приведет к вычислению требуемого значения. В табл.3 представлены события и элементы документов HTML, в которых эти события могут происходить. В языке JavaScript определены некоторые стандартные объекты и функции, пользоваться которыми можно без предварительного описания. Одним из стандартных объектов является объект Math. В свойствах упомянутого объекта хранятся основные математические константы, а его методы можно использовать для вызова основных математических функций. В табл.4 приведены некоторые методы объекта Math. Выражение y=log x запишется y=Math.log(x).
исправляем код:
Код:
x[i].addEventListener("select", getData);
наслаждаемся результатом.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти площадь треугольника, используя функцию ele29 Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2012 16:51
Линейные алгоритмы. Вычислить периметр и площадь треугольника. sqr Паскаль, Turbo Pascal, PascalABC.NET 2 29.10.2011 15:24
Вычислить площадь треугольника по трём точкам [Паскаль] Canavar Помощь студентам 8 08.12.2010 17:35
Вычислить площадь треугольника. С++ varlonec Помощь студентам 2 26.01.2010 20:07