В идеале ваша форма должна работать без JavaScript, поэтому у вас, вероятно, есть скрытый ввод формы или что-то, что уже содержит значение id.Если нет, то, вероятно, вам следует это сделать.
Все это «хрупко» в том смысле, что небольшое изменение повлияет на все, мало что вы можете с этим поделать, но вы не всегда хотите помещать это в пользователя.руки, читая URL-адрес или строку запроса, которые могут быть легко изменены пользователем.(Конечно, это хорошо для URL, но не для всех. Здесь применяются те же правила, что и для доверия $ _GET, и для строк запросов).
Лично мне нравится строить весь AJAX поверх существующего функционального кодаи у меня никогда не было проблемы с "подключением" к тому, что уже есть.
Хотя не все является формой.Например, допустим, вы щелкаете «заголовок», и он становится редактируемым.Вы редактируете его, нажимаете ввод, и затем он становится недоступным для редактирования и снова становится частью страницы.Вы должны были отправить ID как часть этого.Кроме того, как насчет перемещения вещей, и вы хотите, чтобы эти позиции были обновлены?Вот еще один случай, когда использование формы не работает, потому что она не существует.
Все это все еще возможно, и не совсем сложно обойтись без javascript, поэтому форма может работать в любомдело, но я действительно вижу, что вы говорите.Почти в каждом случае есть какой-то уникальный идентификатор, будь то идентификатор базы данных или имя файла, который можно использовать в качестве атрибута «id» html, который его представляет.* Или атрибут data-
, как упомянул Яни Хартикайнен.
Например, у меня есть система шаблонов, которая позволяет перетаскивать блоки содержимого.У каждого блока есть идентификатор, и у каждой области, в которую он может быть сброшен, тоже есть.Я буду использовать префиксы для содержащего div
идентификатора, такого как «template-area_35» или «content-block_264».В этом случае я не утруждаю себя отступлением без JavaScript, но это может быть сделано (например, выпадающий список -> переместить это в область).В любом случае, это хороший вариант использования атрибута id.
Что если этот идентификатор будет продублирован для целей CSS через 3 месяца, и, таким образом, нарушит работу страницы, поскольку существует 2 идентификатора с одинаковым именем?
Если это произойдет (чего на самом деле не должно быть), кто-то что-то делает не так.Это будет их вина, если код не сработает, и они будут нести ответственность.Идентификаторы по определению должны быть уникальными .