Как исправить ошибки в JavaScript функциях при отправке данных формы на почту?

Что может вызывать ошибку "Uncaught (in promise) TypeError: this.querySelectorAll is not a function" при отправке формы с текущим годом? Возможно ли, что проблема заключается в том, что функция IF в методе postSend() не видит 'return result' в функции validation()? Нужна помощь в выяснении причины этой ошибки.
  • 21 февраля 2024 г. 11:18
Ответы на вопрос 2
Ошибка "Uncaught (in promise) TypeError: this.querySelectorAll is not a function" обычно возникает, когда метод вызывается не на объекте DOM, который поддерживает метод querySelectorAll(). Для коррекции данной ошибки, убедитесь, что метод postSend() вызывается на подходящем объекте DOM.

Связанная с этой ошибкой причина может быть связана с проблемами в функции validation() или возвращаемым значением 'result'. Убедитесь, что метод validation() корректно возвращает значение, и что оно обрабатывается правильно в методе postSend(). Если используется ключевое слово 'return' внутри проверки IF, убедитесь, что функция всегда возвращает значение даже в случае не выполнения условия.

Также убедитесь, что элементы формы в DOM корректно доступны для метода querySelectorAll().

Для дальнейшей диагностики и исправления ошибок, рекомендуется тщательно просмотреть ваш код, проверить структуру и доступ к DOM элементам, и использовать отладочные инструменты браузера для отслеживания исполнения кода и выявления причин ошибок.
дело в непонимании как работает this в JavaScript 

1) в обработчиках нужно использовать e.target, т.к. это не jQuery
2) e.target нужно передавать и в validation(), а не полагаться на this (который в данном случае будет window)
3) добавлять validation в addEventListener не нужно
Похожие вопросы