Mesuti
@Mesuti

Моментальный расчет при вводе в input?

Привет!
Подскажите, пожалуйста
1) Почему в песочнице Jsfiddle не срабатывает JavaScript? А на обычном хостинге работает.
2) Как сделать, чтобы при вводе цифры в Input, расчет происходил сразу же? сейчас приходится нажимать в другое место, только после этого расчет идет

Спасибо всем ответившим!

p.s. нашел ответ, но как его интегрировать в скрипт расчетов?

<input type="text"> oninput: <span id="result"></span>


var input = document.body.children[0];

  input.oninput = function() {
    document.getElementById('result').innerHTML = input.value;
  };
  • Вопрос задан
  • 1343 просмотра
Решения вопроса 1
Mesuti
@Mesuti Автор вопроса
В общем, как обычно, ищу вдалеке, а под носом не вижу.
Ответ:
Чтобы изменения вступали в силу сразу же после внесения в input, нужно вместо каких-либо onchange написать "oninput".
А именно с этого
<input type="text" id="rashod" value="0" onchange="costCalculator()" />

На этот
<input type="text" id="rashod" value="0" oninput="costCalculator()" />


Кому помог - лайк =) пришлось пол часа упоротого индуса слушать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@koshiii
Это можно просто сделать следующим образом:


<script>
function getValue(val){
блоки вычислений
}
</script>

<input type="text" onkeyup="getValue(this.value)"/>


На счет Jsfiddle лучше написать вот тут:

https://github.com/jsfiddle/jsfiddle-issues/issues
Ответ написан
@maxsnw
повесить на чейндж
Ответ написан
@evgennikolaevich
Если не нужна поддержка старых IE, вешайте на события oninput, onchange событие произойдёт не при каждом вводе, а при потере фокуса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы