@Tarantashka28

Как динамически изменять текст в зависимости от id другого элемента?

Есть одна форма на сайте, необходимо изменять заголовок формы в зависимости от id кнопки, по которому оно было вызвано.
<button id="call">Заказать звонок</button>
Вызывается  форма с заголовком Заказать звонок
<button id="order">Оформить доставку</button>
Вызывается  форма с заголовком Оформить доставку
и т.д.

Вот, что у меня получилось написать, но код не работает
var buttonModal = document.getElementsByClassName("btn-primary");
var titleModal = document.getElementsByClassName("modal-title");

buttonModal.addEventListener("click", function (e) {
  for (var element of buttonModal) {
    if (document.getElementById("order") != null) {
      titleModal.innerHTML = "Оформить доставку";
    }
    if (document.getElementById("call") != null) {
      titleModal.innerHTML = "Заказать звонок";
    }
  }
});
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Asokr
var buttonModal = document.getElementsByClassName("btn-primary");
var titleModal = document.getElementsByClassName("modal-title");

Возвращает коллекцию.

Вам просто нужно повесить обработчик на каждую кнопку по id
document.querySelector("#order").addEventListener("click", function (e) {
  document.querySelector(".modal-title").innerHTML = "Оформить доставку";
});
document.querySelector("#call").addEventListener("click", function (e) {
  document.querySelector(".modal-title").innerHTML = "Заказать звонок";
});


Или если вам нужно по элементу на странице вставлять тайтл, то вешайте обработчик в цикле, на каждый элемент коллекции...
Ответ написан
Ваш ответ на вопрос

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

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