Задать вопрос

Каким образом правильно получить текущий элемент формы, в котором была нажата submit?

Есть несколько форм:
<div class="js-form-handler" id="form-1"></div>
<div class="js-form-handler" id="form-2"></div>
<div class="js-form-handler" id="form3"></div>


Раньше я спокойно получал элемент формы, в котором был нажат submit так:
<div id="form3" onclick="formHandler(this);return false;"></div>

formHandler(form)=> {
        // здесь form будет тем элементом, где сработала кнопка submit
      }


Сейчас хочу уйти от записи onclick="formHandler(this);return false;" и завернуть все в js.

С помощью такой конструкции получить текущий элемент формы не выходит:

$('.js-form-handler').submit((event)=> {
      console.log(this);
      // тут this является объектом window, что не подходит
    });


ровно, как и этой:
$('.js-form-handler').on('submit',(event)=> {
      console.log(this);
      // тут this является объектом window, что не подходит
    });


Каким образом написать обработчик, чтобы уйти от конструкции onclick="formHandler(this);return false;" где конкретный элемент формы явно передается в качестве параметра функции?
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
wapster92
@wapster92 Куратор тега JavaScript
Используй обычную функцию в событии, а не стрелочную (нет контекста).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы