Javascript проблема с intput

132
23 июня 2021, 19:00

Новичок в javascript, пытаюсь написать маленький код для расчета расходов. Мне нужно чтобы при нажатии на клавишу рассчитать, выполнялось сразу 3 функции и выводило значения в поля результатов. Ошибок в консоле нет , в чем может быть проблема, уже переписывал код несколько раз ... заранее спасибо за помощь.

var a = document.getElementById('a').value, 
  b = document.getElementById('b').value, 
  c = document.getElementById('c').value, 
  d = document.getElementById('d').value, 
  e = document.getElementById('e').value, 
  f = document.getElementById('f').value, 
  g = document.getElementById('g').value, 
  h = document.getElementById('h').value, 
  i = document.getElementById('i').value, 
  salary = document.getElementById('salary').value, 
  days = document.getElementById('days').value, 
  total = document.getElementById('total').value, 
  balance = document.getElementById('balance').value, 
  allow = document.getElementById('allow').value; 
 
 
function all() { 
  summ(); 
  minus(); 
  division(); 
}; 
 
function summ() { 
  total = parseFloat(a) + parseFloat(b) + parseFloat(c) + parseFloat(d) + parseFloat(e) + parseFloat(f) + parseFloat(g) + parseFloat(h) + parseFloat(i); 
  document.getElementById('total').innerHTML = total; 
}; 
 
function minus() { 
  balance = parseFloat(salary) - parseFloat(total); 
  document.getElementById('balance').innerHTML = balance; 
}; 
 
function division() { 
  allow = parseFloat(balance) / parseFloat(days); 
  document.getElementById('allow').innerHTML = balance; 
};
<html> 
 
<head> 
  <title>test</title> 
</head> 
 
<body> 
  Сколько вы платите за квартиру ? 
  <input id="a" type="number" name="flat"> 
  </br> 
  </br> 
  Сколько отложить денег на продукты ? 
  <input id="b" type="number" name="products" value=""> 
  </br> 
  </br> 
  Сколько отложить денег на дорогу? 
  <input id="c" type="number" name="road" value=""> 
  </br> 
  </br> 
  Сколько отложить денег на оплату за интернет ? 
  <input id="d" type="number" name="internet" value=""> 
  </br> 
  </br> 
  Сколько нужно платить за подписки и прочее ? 
  <input id="e" type="number" name="subscribe" value=""> 
  </br> 
  </br> 
  Сколько отложить 10% от зп ? 
  <input id="f" type="number" name="percent" value=""> 
  </br> 
  </br> 
  Сколько отложить в резерв ? 
  <input id="g" type="number" name="reserve" value=""> 
  </br> 
  </br> 
  Сколько отложить в копилку ? 
  <input id="h" type="number" name="moneyBox" value=""> 
  </br> 
  </br> 
  Сколько оставить на карманные расходы ? 
  <input id="i" type="number" name="pocketExpenses" value=""> 
  </br> 
  </br> 
  Сколько у вас аванс / зарплата ? 
  <input id="salary" type="number" name="salary" value=""> 
  </br> 
  </br> 
  Сколько дней осталось до ЗП / Аванса ? 
  <input id="days" type="number" name="days" value=""> 
  <hr> 
  </br> 
  <h3 align="center">Результат</h3> 
  <hr> Сумма ваших затрат: 
  <input id="total" type="text" name="q1" value="" readonly> 
  </br> 
  </br> 
  Остаток после расходов: 
  <input id="balance" type="text" name="q2" value="" readonly> 
  </br> 
  </br> 
  Разрешено потратить в день: 
  <input id="allow" type="text" name="q3" value="" readonly> 
  </br> 
  </br> 
  <button id="count" onclick="all()">Рассчитать</button> 
  <script src="js.js"></script> 
</body> 
 
</html>

Answer 1

1 ошибка - не называйте функцию all(). напишите, например, calc() 2 ошибка - переменные надо получать внутри функции либо передавать их как параметры функции

READ ALSO
Email шаблон для outlook

Email шаблон для outlook

Верстаю шаблон для емайл рассылки и на outlookе столкнулся с проблемойТег а - обычная ссылка не отображается как ссылка, виден только текст, без...

106
Создание прогресс - графика SVG

Создание прогресс - графика SVG

Я работаю над прогресс - графиком SVG, который будет отображать индикатор здоровья в игре, пока он выглядит так: jsfiddle

107
Проблема с расположением футера и текста в нём

Проблема с расположением футера и текста в нём

Футер постоянно прилегает к верху

118
Где правильно располагать JS код?

Где правильно располагать JS код?

Мой JS код находится на текущий момент времени в HTML файлахНе скажу чтобы он особо огромен

159