Enctype для страницы XHTML Strict 1.0 - PullRequest
0 голосов
/ 18 июля 2011

Я для собственного создания создал страницу XHTML Strict 1.0, содержащую форму. Я бы хотел, чтобы он принимал только текстовые / xml MIME-типы, и поэтому я определил атрибут accept соответственно. Однако , это не может быть проверено при включении пары атрибут-значение enctype = "mulipart / form-data".
Есть ли альтернатива указанию enctype при работе с XHTML Strict 1.0? Нужно ли указывать enctype или что-то подобное вообще?

Я не настроил фактическое "действие" (cgi или некоторая другая внутренняя функция). На данный момент меня интересует только клиентская сторона, и я хотел бы, чтобы пользователь получал приглашение при загрузке всего, что НЕ является XML. Мне нужен JavaScript здесь?

Кроме того, кажется, что не так много людей любят XHTML в любой форме. Если у вас есть свобода выбора XHTML Strict / Frameset / Transitional или HTML 4.01 для статической страницы, какой стандарт будет лучшим?

Ответы [ 2 ]

0 голосов
/ 18 июля 2011

Чтобы обратиться к последнему пункту в первую очередь: Строгий XHTML 1.1 страдает от того факта, что рекомендация W3C действительно требует от вас доставки документа как MIME-типа application/xml+xhtml или чего-то подобного, и это практически невозможно настроить на веб-серверетаким образом, что удовлетворяет большинство, если не все, нынешних клиентов.Поэтому, если вы все равно не можете сделать это правильно, вы можете просто использовать HTML 4.01, который грамматически почти эквивалентен и, возможно, более мощный (например, HTML 4.01 может корректно запрещать вложенные якоря, в то время как XHTML должен добавить это как текстовое дополнительное предложение).Вы сделаете ту же самую работу, и это будет фактически понято почти всеми существующими клиентами.(Поскольку я полагаю, что вы будете использовать методы DOM только для манипулирования клиентской стороной документа, проблем с бэкэндами AJAX, отправляющими и другие формы XML, также не будет.)

Для первого вопроса:Ничто не заставляет любого клиента делать что-то конкретное.Атрибут accept является подсказкой для клиента, который ваш сервер, вероятно, примет или отклонит, но он не должен действовать в соответствии с этим каким-либо определенным образом.При желании вы можете добавить некоторые дополнительные проверки на клиенте с помощью сценариев, но, конечно, вы всегда должны проверять входные данные и на сервере.

0 голосов
/ 18 июля 2011

Кодировка формы (атрибут enctype) должна быть multipart/form-data, чтобы файл загружался.

Согласно тому, что я могу найти, атрибут accept вообще не реализован ни в одном браузере.

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


Есть некоторые люди, которые имеют очень твердое мнение о XHTML, но это не значит, что это не широко используемый стандарт.

...