@margarittapizza

Как одну JS функцию применить к двум разным дейтсвиям?

У меня есть форма, которая должна вносить данные о людях, которые будут играть в гольф и которые не будут играть в гольф.
То есть, форма разделена на две части.
В форме есть скрипт, если нажать на кнопку "Add a participant", то добавится ещё один блок, в котором можно вносить данные ещё одного человека. Так же их можно удалить.

У меня форма разделена на две части:
"Data about people who play Golf" и "Data about people who don't play Golf"
скрипт срабатывает корректно только в первой части, он добавляет новые поля.
Если нажать на кнопку во второй части формы, то поля добавятся в первую...

Я надеюсь что понятно объясняю)) Сам скрипт нужно как-то применить, чтобы он и туда и туда применялся независимо.

Вот накидал пример, но без CSS - https://codepen.io/michael-burenin/pen/KKwBKOw

Большое спасибо за ответ!
  • Вопрос задан
  • 306 просмотров
Решения вопроса 2
Devilz_1
@Devilz_1
Frontend-Developer
Так вот например

Добавил вторым параметром в функцию addField маркер, по которому определяю откуда произошёл тык. Далее в самой функции внизу определяю если тык из первого блока произошёл, туда и добавим. Если из второго, значит во второй добавим.

На одной странице не должно быть 2-х элементов с одинаковым id. Посему второй я обозвал parentId2.
Ответ написан
да хоть так же, как и удаление у вас реализовано: передавать this в onclick, а в самой функции e.parentNode.appendChild(div); https://codepen.io/buhacker/pen/GRgBgje

Сейчас там выборка по id и два одинаковых id. JS находит первый, и с ним дальше и работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Ну, нормально это делается примерно так:
Создаём функцию добавления записи. Среди параметров этой функции - boolean переменная, указывающая, играл ли человек в гольф. В каждой части формы - по кнопке; каждая кнопка вызывает эту функцию, передавая ей правильное указание, играл ли человек в гольф.

По ссылке - "Error 504".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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