Найти произведение цифр числа

Необходимо получить произведение цифр и записать их в элемент DIV С id='mpl'. При попытке нажатия ничего не происходит, почему?

function g() {
  var num = document.getElementById('mult').value,
    multiplication = 1,
    mplDiv = document.getElementById('mpl'),
    i = 0;
  var lgth = num.length;
  while (i < lgth) {
    multiplication = num[i] * multiplication;
    multiplication = mplDiv;
    i += 1;
  }
  mplDiv = multiplication;
}
<div style="display:flex">
  <div>
    №7.<br>
    <input type="text" class="field" id="mult" value="12345" onfocus="this.value=''" style="height:2em;" onkeypress="numkey()" />
    <button class="btn" onclick="g()">Получить произведение введённых цифр</button>
  </div>
  <div>
    <div id="mpl"></div>
  </div>
</div>


Ответы (1 шт):

Автор решения: Grundy

Основная проблема – строка multiplication = mplDiv; здесь результат перетирается дивом на первой же итерации и следующий вычисления приводятся к NaN

Она вообще не нужна, достаточно просто установить результат в конце:

function g() {
  var num = document.getElementById('mult').value,
    multiplication = 1,
    mplDiv = document.getElementById('mpl'),
    i = 0;
  var lgth = num.length;
  while (i < lgth) {
    multiplication = num[i] * multiplication;
    i += 1;
  }
  mplDiv.textContent = multiplication;
}
<div style="display:flex">
  <div>
    №7.<br>
    <input type="text" class="field" id="mult" value="12345" onfocus="this.value=''" style="height:2em;" />
    <button class="btn" onclick="g()">Получить произведение введённых цифр</button>
  </div>
  <div>
    <div id="mpl"></div>
  </div>
</div>

→ Ссылка