Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отображение результата подсчета, сразу после загрузки страницы (https://javascript.ru/forum/misc/72623-otobrazhenie-rezultata-podscheta-srazu-posle-zagruzki-stranicy.html)

Sonya 12.02.2018 22:01

Отображение результата подсчета, сразу после загрузки страницы
 
Здравствуйте! Помогите, пожалуйста. Вот так я рассчитываю количество, деля сумму на 3.

<input type="number" step="3" id="summa" min="3" value="(здесь динамическое количество, указанное в настройках)">
<p>Итого: <span id="count"></span></p>

<script>                     
document.getElementById('summa').addEventListener('input', function() {
var output = document.getElementById('count');
output.innerHTML = (this.value / 3);
});
 </script>

Как сделать корректно, чтобы при открытие страницы, сумма в "итого", была уже указанна, в соответствии со значением "value", а не после того, как введешь число в поле "input".

рони 12.02.2018 22:10

Sonya,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>

<input type="number" step="3" id="summa" min="3" value="5">


<p>Итого: <span id="count"></span></p>
<script>
window.addEventListener("DOMContentLoaded", function() {
  var item = document.getElementById("summa");
  function foo() {
    var output = document.getElementById("count");
    output.innerHTML = (this.value / 3).toFixed(2);
  }
  item.addEventListener("input", foo);
  foo.bind(item)();
});
 </script>

</body>
</html>

Sonya 12.02.2018 22:19

Большое спасибо! То, что нужно!

Sonya 12.02.2018 22:47

Почему-то в popup окне не срабатывает.

рони 12.02.2018 22:51

Цитата:

Сообщение от Sonya
Почему-то в popup окне не срабатывает.

не понимаю

Sonya 12.02.2018 22:57

На странице скриптом вызывается popup окно, и в нем, как раз, этот скрипт. Так вот в окне, он не срабатывает, причем даже если меняешь значение в поле.

рони 12.02.2018 23:00

Sonya,
не телепат

Sonya 12.02.2018 23:03

Наверное из-за DOMContentLoaded, т.к. окно вызывается из другого файла,
<aside id="popup">
<input type="number" step="3" id="summa" min="3" value="5">
<p>Итого: <span id="count"></span></p>

<script>
window.addEventListener("DOMContentLoaded", function() {
  var item = document.getElementById("summa");
  function foo() {
    var output = document.getElementById("count");
    output.innerHTML = (this.value / 3).toFixed(2);
  }
  item.addEventListener("input", foo);
  foo.bind(item)();
});
 </script>

</aside>

<script>
function popup_show(){$('#popup').show();}
</script>

Sonya 12.02.2018 23:16

Вызывается с другой страницы через <button onclick="popup_show(); return false;" type="button">Кнопка</button>

рони 12.02.2018 23:18

Sonya,
попробуйте убрать строки 2 и 10.

рони 12.02.2018 23:23

Sonya,
<script>
function fn()
{
  var item = document.getElementById("summa");
  function foo() {
    var output = document.getElementById("count");
    output.innerHTML = (this.value / 3).toFixed(2);
  }
  item.addEventListener("input", foo);
  foo.bind(item)();

}

function popup_show(){
if(fn) { fn() ;fn = null};
$('#popup').show();}
</script>

Sonya 12.02.2018 23:25

рони,
Сработало, ещё раз большое спасибо!


Часовой пояс GMT +3, время: 17:20.