Jump to content
  • 0

Чем чревато появление в html-коде страницы двух одинаковых id и двух разных id в одном теге?


Alice
 Share

Question

Я начинающий админ форума на одном бесплатном сервисе и хостинге.

Сервис предоставляет якобы движок форума phpbb3, однако, доступа к шаблонам не дает.

И если в форуме что-то работает не так, то приходится обращаться в техподдержку с тем, чтобы программисты исправили ошибки в коде движка.

А убедить в необходимости исправлений их не всегда удается.

Проверяя валидность страниц своего форума, я обнаружила, следующие строчки в коде одной из страниц (в форме ответа):

<button class="button2" onclick="bbstyle(54)" id="addbbcode54" onmouseover="helpline('tab')" type="button" id="addbbcode54" accesskey="" title="{L_BBCODE_TAB}"><img src="http://illiweb.com/fa/wysiwyg/table_add.png" alt="{L_BBCODE_TAB}" style="display:''" /></button>
<button class="button2" onclick="bbstyle(58)" id="addbbcode58" onmouseover="helpline('tab')" type="button" id="addbbcode54" accesskey="" title="{L_BBCODE_TAB_ROW}"><img src="http://illiweb.com/fa/wysiwyg/table_row_insert.png" alt="{L_BBCODE_TAB_ROW}" style="display:''" /></button>
<button class="button2" onclick="bbstyle(60)" id="addbbcode60" onmouseover="helpline('tab')" type="button" id="addbbcode54" accesskey="" title="{L_BBCODE_TAB_CELL}"><img src="http://illiweb.com/fa/wysiwyg/table_add_cell.png" alt="{L_BBCODE_TAB_CELL}" style="display:''" /></button>

Сообщения валидатора об ошибках:

duplicate specification of attribute "id"

ID "addbbcode54" already defined

duplicate specification of attribute "id"

ID "addbbcode54" already defined

ID "addbbcode54" first defined here

duplicate specification of attribute "id"

ID "addbbcode54" already defined

ID "addbbcode54" first defined here

Присмотревшись к коду, не трудно заметить, что в тегах button дважды определен id. Причем, в двух тегах заданы вообще разные id: addbbcode58 и addbbcode54, addbbcode60 и addbbcode54.

Предполагаю, что ошибки возникли по невнимательности в результате копирования частей кода…

Собираюсь поставить перед программистами вопрос об исправлении кода.

Однако, боюсь, они не прислушаются к моему мнению. Или скажут, что ошибки эти не существенные.

В общем, чтобы сдвинуть дело с места, кроме цитат из букварей, что id на странице должен быть один, хочу привести им примеры, что ошибки эти существенные и могут приводить к неправильной работе кодов.

(Ошибки на той странице, где находится процитированный код, вообще то наблюдаются итак, иначе бы не полезла проверять... Но вряд ли это убедит программеров проверить валидность кода).

Ну так вот в связи с этим вопрос.

Чем чревато появление в html-коде страницы двух одинаковых id и двух разных id в одном теге?

Edited by Alice
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

А то, что ID должен быть уникальным, т.е. одним на странице, иначе твой код, ЦСС и JS, которые будут ссылаться на них, попусту будут делать ошибки или вообще не будут работать. Для этого есть классы, которых может быть сколько хочешь)

Link to comment
Share on other sites

  • 0
А то, что ID должен быть уникальным, т.е. одним на странице, иначе твой код, ЦСС и JS, которые будут ссылаться на них, попусту будут делать ошибки или вообще не будут работать. Для этого есть классы, которых может быть сколько хочешь)

Так я то знаю, что ID должен быть уникальным. Код то не я пишу.

Был бы доступ к шаблонам - я бы может, покумекала, и поправила.

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

Желательно с примерами. Вот примеров и хотелось бы...

Link to comment
Share on other sites

  • 0

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

P.S Alice's Adventures in Wonderland или правда так зовут? о:

Link to comment
Share on other sites

  • 0
Нет, в паспорте имя другое. Но за последние 5 лет так срослась с ником, что в реале называют Элис, Алиса и лиса.

:unsure:

Однако не твой Ник, и даже не твоё настоящие имя, не спасёт работу твоего сайта, если на нём, на одной странице будут находится два одинаковых ID :)

Link to comment
Share on other sites

  • 0
Если нужен конкретный пример, то document.getElementById('addbbcode54') вернёт неизвестно что, а это неизвестно что может отправляться дальше на обработку.

Не неизвестно что, а первую попавшуюся ноду с данным id

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy