При переводе веб сайта на стандарт XHTML 1.1 приходится решать множество вопросов, связанных с валидностью HTML-кода. Формы являются одним их «крепких орешков».
Так, например, совершенно безобидная форма быстрого поиска для CMF Cotonti
<form id="search" action="plug.php?e=search" method="post"> <input type="hidden" name="a" value="search" /> <input type="text" name="sq" id="s1" value="Поиск по сайту..." /> <input type="submit" value="{PHP.L.Search}" id="s2" title="Искать!" /> </form>
Вызовет у валидатора странный вопрос. Дело в том, что для Strict вариантов XHTML 1.0 и HTML, а также для XTML 1.1 существует ограничение, согласно которому элементы form могут содержать только скриптовые (script) или блочные (block-level) элементы. А поскольку элементы input являются инлайновыми (inline), непосредственно внутри элемента form использоваться они не могут.
Решение проблемы
Все предельно просто: заключим элементы input внутрь блочного элемента p:
<form id="search" action="plug.php?e=search" method="post"> <p> <input type="hidden" name="a" value="search" /> <input type="text" name="sq" id="s1" value="Поиск по сайту..." /> <input type="submit" value="{PHP.L.Search}" id="s2" title="Искать!" /> </p> </form>
... и получим требуемое: «This document was successfully checked as XHTML 1.1!»
Заинтересовались? Звоните нам по телефонам +375 (29) 774-35-89 и +375 (44) 774-35-89 в Минске. Мы будем рады помочь Вам в реализации Вашего проекта.