Расчет значения на лету
Добрый день!
Необходимо на лету сделать расчет по введенным значениям в 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" /> пробовал вариант из примеров сети, но не выходит ... Прошу помощи Спасибо |
Ну вот делаю так
<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, не тестировал.
['a','b','c'].forEach(function(id){
document.getElementById(id).addEventListener('keyup',function(){
if(proverka(this))
raschitat();
},false);
});
|
<!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>
|
Спасибо, помогло решение
|
| Часовой пояс GMT +3, время: 04:08. |