2010-03-18 4 views
17

У меня есть поле ввода, имя которого является MD5 строки, например:Поле ввода начинается с номера

<input type="hidden" name="7815696ecbf1c96e6894b779456d330e" value="1">

Теперь я понимаю, что, имея номер в качестве первой буквы в имени входного поля, как правило, плохая практика, но есть ли какие-либо побочные эффекты для этого, например, определенный браузер не отправит его в запрос POST?

+0

Вы также должны знать, как ваша структура на стороне сервера (если она используется) обрабатывает входные данные. –

ответ

18

Атрибут идентификатора должен был бы начинаться с буквы as per the HTML 4.01 W3C specification, однако, поскольку атрибут NAME входных элементов имеет тип CDATA (Source), это ограничение не применяется.

Одно реальное ограничение, которое вы получаете от атрибутов NAME, - это когда вы отправляете форму с помощью метода GET, поскольку в этом случае данные формы должны быть ограничены кодами ASCII (Source).

+1

Атрибут name имеет тип CDATA и, насколько я могу судить, не является маркером имени SGML. –

+0

@ Виллис: Ты прав ... Я исправил свой ответ, чтобы сделать его более точным. –

6

Насколько я знаю, у вас не должно быть проблем в любом браузере.
Но вы всегда можете рассмотреть предварять какие-то строки, а также для удобства:

например,

<input type="hidden" name="h.7815696ecbf1c96e6894b779456d330e" value="1"> 

который может помочь некоторым образом.

6

Спецификация HTML никак не ограничивает имя элемента управления. Фактически он даже говорит, что управляющее имя кодируется URL-адресом и что пробелы и не-буквенно-цифровые символы обрабатываются определенным образом, поэтому, очевидно, дизайнеры предполагали, что имена имеют произвольный формат.

+0

+1 для точного наблюдения. –

Смежные вопросы