Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2017, 12:31
Интересующийся
Отправить личное сообщение для avsavs Посмотреть профиль Найти все сообщения от avsavs
 
Регистрация: 03.12.2015
Сообщений: 14

Расчет значения на лету
Добрый день!

Необходимо на лету сделать расчет по введенным значениям в input-ы по заданной формуле

<input type="text" id="a" value="60" />
<input type="text" id="b" value="0" />
<input type="text" id="c" value="0" />

Формула - ((a-b-c)/(a-b))*100

Вывод в id="d" <input type="text" id="d" value="0" />

пробовал вариант из примеров сети, но не выходит ... Прошу помощи
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2017, 12:48
Интересующийся
Отправить личное сообщение для avsavs Посмотреть профиль Найти все сообщения от avsavs
 
Регистрация: 03.12.2015
Сообщений: 14

Ну вот делаю так

<script type="text/javascript">
function raschitat() {
a = document.getElementById('a').value;
b = document.getElementById('b').value;
c = document.getElementById('c').value;

d = ((parseFloat (a) - parseFloat (b)  - parseFloat (c) )/(parseFloat (a) - parseFloat (b)))*100;

document.getElementById('d').innerHTML = d ;
}
</script>



<button onClick="raschitat()">Рассчитать</button><div id="d"></div>


а мне надо, чтобы без кнопки, сразу в div выводило...

и в input у меня еще проверка на число стоит...
<input type="text" id="a" value="60" onkeyup="return proverka(this);" onchange="return proverka(this);" />
<input type="text" id="b" value="0" onkeyup="return proverka(this);" onchange="return proverka(this);" />
<input type="text" id="c" value="0" onkeyup="return proverka(this);" onchange="return proverka(this);" />
<button onClick="raschitat();">Рассчитать</button>
<div id="d"></div>

Последний раз редактировалось avsavs, 04.09.2017 в 12:52.
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2017, 13:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

avsavs, не тестировал.
['a','b','c'].forEach(function(id){
	document.getElementById(id).addEventListener('keyup',function(){
		if(proverka(this))
			raschitat();
	},false);
});
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2017, 13:18
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Пример</title>
</head>
<body>

	<input type="text" id="a" class='input' value="60" />
	<input type="text" id="b" class='input' value="0" />
	<input type="text" id="c" class='input' value="0" />
	<input type="text" id="d" value="0" />

	<script>
		window.onload = function(){
			var inp = document.querySelectorAll('.input');
			for(var i = 0; i < inp.length; i++){
				inp[i].oninput = calc;
			}		

			function calc(){
				a = document.getElementById('a').value;
				b = document.getElementById('b').value;
				c = document.getElementById('c').value;
				d = (a-b-c)/(a-b)* 100;
				document.getElementById('d').value = d ;
			}
		}
	</script>

</body>
</html>

Последний раз редактировалось void(), 04.09.2017 в 13:23.
Ответить с цитированием
  #5 (permalink)  
Старый 04.09.2017, 13:40
Интересующийся
Отправить личное сообщение для avsavs Посмотреть профиль Найти все сообщения от avsavs
 
Регистрация: 03.12.2015
Сообщений: 14

Спасибо, помогло решение
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему возвращает значения RGB каналов? Black_Star jQuery 14 06.02.2017 04:49
Input type="time" + JS +Safari (iPhone) dpts Opera, Safari и др. 0 21.09.2016 07:24
Input type="time" + JS +Safari (iPhone) dpts Opera, Safari и др. 0 21.09.2016 07:24
Множественные значения в input - ЗА ВОЗНАГРАЖДЕНИЕ! Pb160 Events/DOM/Window 0 03.08.2015 12:29
Расчет значения ячейки в зависиммости от данных введеных в поле. progressive Общие вопросы Javascript 4 11.02.2011 09:56