Каким образом правильно получить текущий элемент формы, в котором была нажата 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;" где конкретный элемент формы явно передается в качестве параметра функции?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
wapster92
@wapster92 Куратор тега JavaScript
Используй обычную функцию в событии, а не стрелочную (нет контекста).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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