Ответы пользователя по тегу JavaScript
  • Как отследить изменение select?

    workDNK
    @workDNK
    Разработчик интернет-магазинов на 1С-Битрикс
    Если меняете через кнопки значения, нужно отдельно об этом сообщить через trigger('change'):

    select
    .children(`option[value='${value}']`)
    .prop('selected', true)
    .trigger('change');
    Ответ написан
    Комментировать
  • Как осуществить событие отправки формы (form.submit()) без перезагрузки страницы?

    workDNK
    @workDNK
    Разработчик интернет-магазинов на 1С-Битрикс
    Предполагаю, что в случае кнопки в данном случае нужно использовать не .submit(), а trigger("submit")
    Тогда будет вызван верхний обработчик 'submit', который запретит отправку формы. Можно в конце обработчика еще написать
    return false;

    https://learn.javascript.ru/forms-submit
    Чтобы отправить форму на сервер из JavaScript – нужно вызвать на элементе формы метод form.submit().
    При этом само событие submit не генерируется. Предполагается, что если программист вызывает метод form.submit(), то он выполнил все проверки.


    UPD

    Не часто пользуюсь нативным js, а вышеуказанный код предназначен для jQuery
    Проверил код, который ниже, работает.

    <form id="form" method="GET">
    	<input type="text"/>
    	<button id="form-btn">Button</button>
    </form>
    <button id="btn">Button</button>


    document.getElementById("form").addEventListener('submit', function(e) {
        e.preventDefault();
        console.log("Form has submited");
    });
    document.getElementById("btn").addEventListener('click', function(e) {
    	var ev = new Event("submit");
        console.log("Btn click");
        document.getElementById("form").dispatchEvent(ev);
    });
    Ответ написан
    1 комментарий