PHP array question

Is it alright if I put the cat[] array value in the for, name and id attributes.

code.

<label for="cat[]">' . $cat['category'] . '</label>
<input type="checkbox" name="cat[]" id="cat[]" value="' . $cat['id'] . '" />
1
задан Iznogood 20 August 2010 в 01:13
поделиться

3 ответа

Короткий ответ: Нет.

Длинный ответ

Нет, потому что:

  • Квадратные скобки являются недопустимыми символами для атрибутов for и id.
  • Использование квадратных скобок в атрибуте name сигнализирует php о создании массива. Это означает, что у вас есть несколько элементов формы с именем cat[]. Однако атрибут id должен быть уникальным. Поэтому нельзя, чтобы id и имя были равны. Если у вас нет подходящего уникального id для каждого флажка, просто увеличьте cat. Таким образом, первый флажок будет иметь id cat1, второй - cat2 и так далее.
  • Если вы создадите несколько флажков с одинаковым атрибутом id, ваши элементы label не будут знать, на какие входы указывать, поскольку атрибут for не может однозначно идентифицировать вход. Это создаст непредсказуемое поведение и сделает бессмысленным наличие атрибута for вообще.
1
ответ дан 2 September 2019 в 21:58
поделиться

Нет, только имя (передается на сторону сервера), ID должен быть уникальным, без специальных символов и не может начинаться с цифры.

1
ответ дан 2 September 2019 в 21:58
поделиться

Из w3C

символ "[" не допускается в значении атрибута "для"

символ "[" не допускается в значении атрибута "id "

Попробуй валидатор

0
ответ дан 2 September 2019 в 21:58
поделиться
Другие вопросы по тегам:

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