@ortsuev33

Как передать данные из события в событие?

У меня есть событие изменения на поля интпут и события на отправку т.е две функции реализованы для этих двух случаев, как мне передать результат 1го события во вторую функцию не делая переменную глобальной?
  • Вопрос задан
  • 294 просмотра
Решения вопроса 2
dollar
@dollar
Делай добро и бросай его в воду.
Событие - это функция.

Передать данные в функцию можно только двумя способами:
1) Через параметры.
2) Через пространство имён, в котором находится функция. Сюда входят глобальные переменные.

Так как это событие, то аргументы функции вы не контролируете. Остаётся только второй вариант. Третьего варианта не существует.

При хранении данных в глобальном пространстве остаётся вопрос способа хранения. Можно создавать отдельные глобальные переменные (ваш вариант 1), или можно хранить переменные в объектах DOM (ваш вариант 2). По сути DOM - это помощь вам в структурировании данных, ну суть та же, т.к. доступ через глобальную переменную (document).

Можно использовать промежуточный вариант. Создать глобальный объект { } - и в нём придумать свою структуру, какая вам будет удобна. Какие там будут идентификаторы, как осуществляться добавление данных и поиск - вам решать. Можете сделать всё красиво и удобно. Это как бы ваш личный неймспейс для конкретной фичи. От жёсткой структуры DOM вы будете независимы.
Ответ написан
Комментировать
profesor08
@profesor08 Куратор тега JavaScript
Никак. Либо сохраняй данные где-то, а потом используй их. Либо получай их в нужном событии. Раз ты форму отправляешь, и данные менять не надо или как-то обрабатывать, то логичнее создать скрытый элемент формы с данными и они автоматически отправятся со всеми остальными данными формы.

Но если ты упорно хочешь третий вариант, то обойдись без отправки формы, а передавай данные как-то иначе.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы