Проблемы с доступом к элементам на странице через скрипт

187
27 ноября 2017, 20:09

Необходимо программно выбрать option из select. C данной задачей проблем нет, но есть другая проблема. До тех пор пока пользователь не выберет какой-либо option, кнопка будет неактивна. При ручном выборе опции все работает нормально, но пытаясь сделать это программным путем, кнопка остается неактивной.

Я попробовал вызывать в ручную событие onchange у селекта, но он выдает ошибку:

Uncaught TypeError: size.onchange is not a function

хотя я через консоль разработчика методом getEventListeners проверял, событие навешивается на элемент.

Ниже представлен код:

выбираем значение select и пытаемся вызвать метод onchange();

var size = document.getElementsByClassName('moostach')[0];
size.selectedIndex = 3;
size.onchange();

событие, которое привязано к селекту и вызывается при изменении опции:

defn = function(event){
                event = new DOMEvent(event, self.getWindow());
                if (condition.call(self, event) === false) event.stop();
            };

Странно то, что событие onclick кнопки, которая активируется после выбора опции, содержит этот же самый код.

Answer 1

Скорее всего ваш DOM еще не готов когда вы вызываете метод size.onchange()

function ready() {
  // действия с домом size.onchange()
}
document.addEventListener("DOMContentLoaded", ready);
READ ALSO
Отправка запрос при помощи axios вместо jQuery

Отправка запрос при помощи axios вместо jQuery

Не знаю как сделать,что бы при вводе в инпут ip оно отправляло запрос на сайт и возвращало уже данные именно по тому ip что я написалИ подскажите,как...

237