@Isadgoose

Почему JS не выводит i в input?

Подскажите, почему не выводится значение i в инпут?

https://codepen.io/anon/pen/vqxpPr
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
Потому что у вас две ошибки:
Первая

Вы пишите onclick="add1". Это не работает, потому что при нажатии на кнопку вычисляется выражение в кавычках. А результатом выражения "add1" является функция. Обратите внимание, не вызов функции, а просто ссылка на функцию.
Следует писать так: onclick="add1()"

А вообще хочу заметить, что такой способ создания обработчика слегка морально устарел. По сути он приравнивается к использованию функции eval, а это скверно, не стильно и не модно.
Более правильный вариант убрать атрибут onclick, а в скрипте добавить обработчик примерно так:
var button = document.querySelector("button"); //как-то получаем указатель
button.addEventListener("click", add1); //добавляем сам обработчик

Вторая

Внутри функции add1 вы увеличивает глобальную переменную на единицу.
И переменная действительно увеличивается (если первая ошибка уже исправлена).
Однако это никак не отображается на странице.
Потому что переменная и значение инпута - не одно и то же.
Исправлением будет перенос операции копирования внутрь функции:
function add1(){
  i++;
  inp1.value = i;
}

Вот теперь копирование будет происходит при каждом вызове функции, а не только при загрузке страницы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@andreysuha
Что то знаю
Потому что вы его не выводите, функуция выполняется но она не подставляет значение в инпут. Другими словами вам нужно переопределять значение инпут внутри функции add
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 01:25
1000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект
24 нояб. 2024, в 00:04
5000 руб./за проект