Trailaptor
@Trailaptor
Новичок в web-программировании

В чем проблема js калькулятора?

В js новичок
Наверное странный способ сделать калькулятор. Просто хочу разобраться с темой.
Вроде всё сделал правильно, ошибок в консоли не дает.
Возможно ошибка в html с тем, что onchange не правильно поставлен.
А может не туда скрипт присоединил в html файле, но alert работает
Помогите, пожалуйста
ссылка на JSFiddle
let fst = document.getElementById('idinp').value;
let scnd = document.getElementById('select').value;
let thrd = document.getElementById('idinp2').value;

function f1() {

 	if (scnd == '+') {
 		var result = fst + thrd;
 		document.getElementById('idresult').innerHTML = result
 	}

 	else if (scnd == '-') {
 		var result = fst - thrd;
 		document.getElementById('idresult').innerHTML = result
 	}

 	else if (scnd == '*') {
 		var result = fst * thrd;
 		document.getElementById('idresult').innerHTML = result
 	}

 	else{
 		var result = fst / thrd;
 		document.getElementById('idresult').innerHTML = parseInt(result)
 	}
}

f1()


<html>


<head>

    <link rel="stylesheet" type="text/css" href="style.css">

 </head>



<body>

	<div class="container">
		
		<div class="input-div">
			<p class="p">Первое значение:</p>
			<input id="idinp" class="inp1">
		</div>


		<div class="input-div" id="select-div">
			<p class="p">Операция:</p>
			<select class="select inp" id="select">
				<option id="idplus" class="inp">+</option>
				<option id="idminus" class="inp">-</option>
				<option id="idmult" class="inp">*</option>
				<option id="iddiv" class="inp">/</option>
			</select>

		</div>

		<div class="input-div" id="input2-div">
			<p class="p">Второе значение:</p>
			<input id="idinp2" class="inp1" onchange="f1()">
		</div>

		<div class="input-div" id="output-div">
			<p class="p">Результат:</p>
			<input id="idresult" class="out1 inp1" onchange="f1()">
		</div>

	</div>




	<script src="Путь\script.js"></script> <!--alert работает-->
</body>
</html>


  • Вопрос задан
  • 149 просмотров
Решения вопроса 2
@lexchz
Не работает, т.к. функция выполняется при загрузке страницы. Повесь выполнение f1() на событие input, как вариант.
Ответ написан
NevePMoPe
@NevePMoPe
С событием траблы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы