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>


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

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

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