Добрый день. Я только разбираюсь с JavaScript
, пробую написать простой скрип с условиями. Но по факту условия считываются неправильно - при любых входных данных скрип выдает результат последнего условия (('1 (Scalene)')
.
Помогите разобраться где у меня ошибка! Спасибо!
function displayResult() {
var a = document.getElementById('a').value;
var b = document.getElementById('b').value;
var c = document.getElementById('c').value;
document.getElementById('result').innerHTML = calculateResult(a, b, c);
}
function calculateResult() {
if (a == b && b == c) {
return ('3 (Equilateral)')
} else if (a >= (b + c) || c >= (b + a) || b >= (a + c)) {
return ('4 (Error. Not a triangle)')
} else if ((a == b && b != c) || (a != b && c == a) || (c == b && c != a)) {
return ('2 (Isosceles)')
} else if (a != b && b != c && c != a) {
return ('1 (Scalene)')
}
}
<input type="text" name="a" id="a" placeholder="Side a">
<input type="text" name="b" id="b" placeholder="Side b">
<input type="text" name="c" id="c" placeholder="Side c">
<input type="button" id="calculate" onclick="displayResult()" value="Triangle type">
<br>
<p id="result"></p>
Не работает, потому что calculateResult()
определена без использования переменных и заданные a, b, c в ней не используются, а используются какие-то другие переменные с неизвестными значениями.
Исправьте строчку function calculateResult()
на function calculateResult(a, b, c)
:
function displayResult() {
var a = document.getElementById('a').value;
var b = document.getElementById('b').value;
var c = document.getElementById('c').value;
document.getElementById('result').innerHTML = calculateResult(Number(a), Number(b), Number(c));
}
function calculateResult(a, b, c) {
if (a == b && b == c) {
return ('3 (Equilateral)')
} else if (a >= (b + c) || c >= (b + a) || b >= (a + c)) {
return ('4 (Error. Not a triangle)')
} else if ((a == b && b != c) || (a != b && c == a) || (c == b && c != a)) {
return ('2 (Isosceles)')
} else if (a != b && b != c && c != a) {
return ('1 (Scalene)')
}
}
<input type="text" name="a" id="a" placeholder="Side a">
<input type="text" name="b" id="b" placeholder="Side b">
<input type="text" name="c" id="c" placeholder="Side c">
<input type="button" id="calculate" onclick="displayResult()" value="Triangle type">
<br>
<p id="result"></p>
Как справедливо заметили в комментариях, чтобы сравнение работало правильно, нужно значения переменных перевести в числа. Например, при вызове функции:
document.getElementById('result').innerHTML = calculateResult(Number(a), Number(b), Number(c));
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть код который удаляет определённые символы (в частности "руб") в одинаковых классах
Доброго времени сутокРаботаю с vue, получаю ответы от сервера следующего вида:
Здравствуйте! Можете подсказать, как выделить первую ячейку таблицы datatable Параметры такие:
Добрый день! Ситуация такая: обрабатываю форму и на ее основании создаю ОбъектПеред отправкой AJAX- стрингую его JSON