Букоедство> Я просто указал что за элемент, а закрывать тэги привычка из XSLT, а не XHTML
Все Это XML.
> (блин, я вообще не понимаю, чем он отличается от HTML?!?)
Ну, Довольно Просто. Отличие Синтаксическое. XHTML - Это Строгий Синтаксис, HTML - Каша. Это Дает:
1. С XHTML Могут Работать Простые Парсеры И Преобразователи, Так Как XML'ный Синтаксис Избавляет От Чудовищной Сложности Разбора HTML. Пример: Я Делаю Свой Сайт На XHTML, И Могу Одним-Двумя XSLT-Файлами Предоставлять К Нему Доступ Через, Скажем, XUL. Могу Сделать Из Него Выжимку В Виде RSS. И Поддержка Всего Этого Не Будет Требовать Особенных Усилий. 2. В XHTML-Страницу Можно Вставлять Другие XML-Синтаксические Объекты: SVG, MathML, Тот Же RSS. Самое Приятное, Что В Отличии От Плагинной Реализации, Все Это Формируется В Одно Дерево И Дает Гораздо Более Мощные Возможности Для Скриптования. Плагины Реализуют Только Визуальную Интеграцию.
Впрочем, Думаю, Ты И Так Это Знаешь. Но Вдруг Еще Кому Интересно.
> Если учесть, что у пользователя может не быть JS (выключен?), а элементы форм предполагают интерактив, то на нормально сделанных страниц взаимодействие с сервером должно быть предусмотрено ВСЕГДА!
Так... Если Мы Говорим О _Синтаксической_ Совместимости, То Форма Не Обязательна. А Ты Говоришь О Доступности. Тут Два Аспекта:
1. Требования К Доступности В Рамках Интранета, Например, Могут Быть Совершенно Другими. Иногда Можно Потребовать От Пользователей И Конкретного Браузера Конкретной Версии В Конкретной Конфигурации. 2. Даже В Случае Широкого Веба Решение На Чистом JavaScript Может Существовать Отдельно От Общения С Сервером В Тех Случаях, Когда Скриптинг Обеспечивает _Дополнительную_ Функциональность. Простой Пример: На Telephone.Ru Есть Скрипт Сравнения Телефонов. В Табличном Виде Выводятся Характеристики Телефонов. Есть JavaScript'овая Галочка, Которая Скрывает Одинаковые Характеристики. Она _Не_Обязательно_. Крайне Удобна, Но Не Обязательна, Потому Что Пользователь К Информации Имеет И Так.
Так Что, Я Бы Не Стал Заявлять, Что "Форма Всегда Должна Быть Там, Где Есть Элемент Управления".
> Ну, насколько понимаю, все radio с одинаковым именем должны работать как один элемент в пределах одной формы, а не вообще для всех форм на странице.
Все Правильно, Но Я Таки Понатаскаю Цитат Из W3C:
<Blockquote Cite="http://www.w3.org/TR/html401/interact/forms.html#radio" Lang=en> Radio buttons are like checkboxes except that when several share the same control name, they are mutually exclusive: when one is switched "on", all others with the same name are switched "off" </Blockquote>
Для Читающих Нас Русскоязычных Пользователей: "Радиокнопки Ведут Себя Как Галки, Но Когда Несколько Из Них Делят Одно И То Же _Имя_Элемента_, Они Взаимоисключающи: Когда Одна Включена, Все Остальные С Тем Же Именем - Выключены".
Теперь, Что Такое Имя Элемента:
<Blockquote Cite="http://www.w3.org/TR/html401/interact/forms.html#control-name" Lang=en> A control's "control name" is given by its name attribute. The scope of the name attribute for a control within a FORM element is the FORM element. </Blockquote>
"Имя Элемента Задается Атрибутом Name. Область Определения Атрибута Name Для Элемента Внутри FORM - Это Сам Элемент FORM"
Итак! Мы Имеем Точное Описание Поведения Внутри Одной Формы. А Вот Область Определения Элемента В Отсутствии Форм Вообще - Не Указана.
> Вопрос, как они должны вести себя, когда форма не указана вообще - скорее философский,
Ну, Не Настолько. Все Браузеры Просто Берут Областью Определения Весь Документ. Это Правильно, Потому Что:
1. Ситуация Наличия Элемента Управления Вне Форм Допущена Спецификацией 2. Той Же Спецификацией Явно Допущено _Существование_ У Этого Элемента Атрибута Name Вне Зависимости От Контекста.
Это Значит, Что Браузер Обязан Поддержать Этот Атрибут. Как - Не Известно. Но Он Обязан. Браузер Не Может Просто Сказать: "Раз Нет Формы, Не Будет Элемента". Поэтому Просто Выбирается Самое Логичное Решения Для Области Определения.
> > <input type="radio" name="myRadio" value="1"/> > <input type="radio" name="myRadio" value="2"/> > <form> > .<input type="radio" name="myRadio" value="3"/> > .<input type="radio" name="myRadio" value="4"/> > </form> > <input type="radio" name="myRadio" value="5"/> > > radio[@value = '1'] "связан" с radio[@value = '5']?
Разумеется Связан. Form, Разумеется, Никак Не Влияет На Область Видимости Элементов ВНЕ Себя. Поэтому Элементы Со Значениями 1,2 И 5 Принадлежат К Одному Пространству (Хотя И К Разным Абзацам, Но На Область Видимости Это Не Влияет). Не Потому, Что Так Должны, А По Сложившейся Практике. Так Работают IE И Mozilla, Например. И Это, Опять-Таки, Допущено Спецификацией. А Я Бы Еще И Сказал - Подразумевается :-) |