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

Как правильнее переписать id's в формах?

Суть вкратце:
1. На одной странице может быть несколько форм, сами формы на фронте имеют свои уникальные id, но вот поля в этих формах не уникальны. Т.е. на одной странице получается несколько полей разных форм, но с одинаковыми id - firma, name, email etc.
2. Формы имеют родительские обёртки, у которых тоже не уникальные id.
3. Редко, но возможна ситуация, когда на одной странице сами формы будут с одинаковым id.
Пример ниже.
Проблемы 1. и 2. в примере решены, а проблема 3 - нет.
Как видно, 1 и 3-я формы имеют id form-22 (data-form-id="22").
Если я правильно понимаю, необходимо в цикле при каждой итерации, начиная со второй, сравнивать значение переменной formDataId со всеми её значениями в предыдущих итерациях, если есть совпадение, то добавить "-2" (чтобы получилось значение formDataId 22-2, если вдруг есть ещё совпадение, то 22-3 и т.д.) .
Реально осуществить такое в each() или лучше использовать другой цикл(for etc)?


добавлено.
Если у кого codepen недоступен,
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Id должен быть уникальным и единственным во всём документе: https://htmlbook.ru/html/attr/id
Поэтому, если нужны идентификаторы элементам - то следует каждому элементу назначить свой уникальный. А вот имена элементов формы могут повторяться. Элементы в форме в JS скрипте можно найти по любому атрибуту. Обычно используются имена или классы. Какой именно использовать цикл в коде значения не имеет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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