Отображение результата подсчета, сразу после загрузки страницы
Здравствуйте! Помогите, пожалуйста. Вот так я рассчитываю количество, деля сумму на 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". |
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> |
Большое спасибо! То, что нужно!
|
Почему-то в popup окне не срабатывает.
|
Цитата:
|
На странице скриптом вызывается popup окно, и в нем, как раз, этот скрипт. Так вот в окне, он не срабатывает, причем даже если меняешь значение в поле.
|
Sonya,
не телепат |
Наверное из-за 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> |
Вызывается с другой страницы через <button onclick="popup_show(); return false;" type="button">Кнопка</button>
|
Sonya,
попробуйте убрать строки 2 и 10. |
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> |
рони,
Сработало, ещё раз большое спасибо! |
Часовой пояс GMT +3, время: 17:20. |