@Isadgoose

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

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

https://codepen.io/anon/pen/vqxpPr
  • Вопрос задан
  • 59 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы