Подтвердить что ты не робот

Хорошо ли для элемента HTML иметь то же [имя], что и его [id]?

Я работаю над встраиванием flash-приложения на веб-страницу с использованием метода Satay:

<object type="application/x-shockwave-flash" data="embeddy.swf"
id="embeddy" name="embeddy">
  <param name="movie" value="embeddy.swf" />
</object>

Я хочу, чтобы flash обеспечивал правильный objectID в ExternalInterface.objectID, что означает, что мне нужно установить атрибуты name и id для object.

Обычно я стараюсь избегать именования коллизий с элементами в HTML, но есть ли что-то не так, если в этом случае установить оба атрибута на одно и то же значение?

Как насчет HTML-форм? Кто-нибудь считает, что стоит установить атрибуты (n) (input | select | textarea)) name и id на одно и то же значение?

4b9b3361

Ответ 1

Вы используете идентификаторы для обработки JavaScript.

Вы используете имена для отправки поля формы.

Оба не связаны друг с другом. Поэтому установка обоих значений одинакова, но это не требуется.

Ответ 2

Не все в порядке, это довольно часто.

Идентификаторы используются для Javascript (и в меньшей степени для CSS).

Имена используются для полей формы, чтобы указать имя для представленного значения.

Однако в старых версиях IE были обнаружены ошибки, которые означают, что вы почти вынуждены указывать их одинаково во многих случаях. (при условии, что вы хотите поддерживать те старые версии IE, конечно!)

Единственное, что нужно помнить, это то, что идентификаторы должны быть уникальными. Поэтому, если у вас есть радиокнопки, все из которых имеют одинаковое имя, вы не можете использовать один и тот же идентификатор для всех. В большинстве других случаев, это прекрасно, чтобы они были такими же.

Ответ 3

Да! Это абсолютно нормально.

id - идентификатор на стороне клиента (при поиске элемента в DOM)

name используется при отправке формы в POST/GET значения.

Вне входного элемента не должно быть необходимости использовать имя вообще. Но предоставление входных элементов id позволяет им искать в DOM согласованным образом.

Ответ 4

Я только что обнаружил ответ HTML4 на мой вопрос:

Идентификаторы id и name имеют одно и то же пространство имен. Это означает, что они не могут оба определить якорь с тем же именем в том же документе. Допустимо использовать оба атрибута для указания уникального идентификатора элемента для следующих элементов: A, APPLET, FORM, FRAME, IFRAME, IMG, and MAP. Если оба атрибута используются в одном элементе, их значения должны быть идентичными.

Теперь я предполагаю, что правило, применяемое к applet и iframe, должно, по расширению, работать для тегов object и embed. В любом случае использование одинакового имени и идентификатора не дало никаких необычных событий на сегодняшний день.

Ответ 5

Я делаю это все время (в основном потому, что некоторые браузеры в прошлом - IE приходит на ум - используйте параметр имени при отправке данных формы). Использование id делает код проверки достоверности формы более чистым, IMO.