Как я получаю возвращаемое значение входных данных javascript addeventlistener - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь закодировать bmi калькулятор.

Я хочу, чтобы фрагмент прослушивал поле ввода html. Если кто-то записывает число в поле ввода, письменный ввод должен немедленно отображаться на экране. Но! С помощью ввода я хочу рассчитать. Если я написал , верните res в функцию , я получу ошибку:

Как я могу использовать возвращаемое значение?

У кого-нибудь есть решение?

Работа:

document.getElementById("formInputBodySize").addEventListener("input", fBodySize);

function fBodySize() {
    let arrBodySize = [];
    arrBodySize.push(this.value);

    let res = Number(arrBodySize[arrBodySize.length - 1]);

    document.getElementById('titleWeight').innerText = res;
}

Я пытаюсь:

Не работает:

document.getElementById("formInputBodySize").addEventListener("input", fBodySize);

function fBodySize() {
    let arrBodySize = [];
    arrBodySize.push(this.value);

    let res = Number(arrBodySize[arrBodySize.length - 1]);

    return res;
}

let result = fBodySize() + 10;

document.getElementById('titleWeight').innerText = result;

Ответы [ 3 ]

0 голосов
/ 05 марта 2019

После перечитывания вашего вопроса несколько раз, я думаю, вы имеете в виду это:

document.getElementById("formInputBodySize").addEventListener("input", fBodySize);
let arrBodySize = [];
function fBodySize() {
  let size = this.value;
  size = isNaN(size) || size.trim()==""? 0: +size; // make it number
  if (size) {
    arrBodySize.push(size);
    document.getElementById('titleWeight').innerText = size+10;
  }
  else document.getElementById('titleWeight').innerText = "";
}
Body size:<input type="text" id="formInputBodySize" /> Title weight: <span id="titleWeight"></span>
0 голосов
/ 05 марта 2019

Мне кажется, я неправильно объяснил свою проблему?Я хочу простое решение, подобное этому, но оно не работает:

document.getElementById('formInputBodySize').addEventListener('input', fBodySize);
document.getElementById('formInputWeight').addEventListener('input', fWeight);

function fBodySize() {
    return this.value;
}

function fWeight() {
    return this.value;
}

document.getElementById('formInputBmi').value = fBodySize() / (fWeight() * fWeight());

Извините за мой плохой английский.Мой родной язык немецкий: -)

0 голосов
/ 05 марта 2019
<input type="number" id="formInputBodySize"  
oninput="fBodySize(this.value)">

<script>

function fBodySize(elInput) {
let arrBodySize = [];
arrBodySize.push(elInput);

let res = Number(arrBodySize[arrBodySize.length - 1]);

document.getElementById('titleWeight').innerText = res;
}

</script>
...