Почему единый текстовый беспорядок все последующие XHTML?
Я столкнулся с проблемой в моей веб-программе. У меня есть textarea в моем виде, иногда в textarea ничего нет, поэтому шаблонный движок genshi просто выводит его как
<textarea xxxx />
и здесь возникает проблема, все следующие теги находятся в текстовой области. Почему все браузеры не могут правильно обрабатывать одну текстовую область?
Если я напишу это как
<textarea xxxx></textarea>
и все работает отлично. Почему одна текстовая область портит следующие теги в xhtml?
1 ответ
Потому что вы, по-видимому, обслуживаете свой XHTML с типом содержимого text / html и заставляете его обрабатывать как HTML. Самозакрывающиеся теги в стиле XML не существуют в HTML (поэтому вы должны использовать явные начальный и конечный теги, за исключением случаев, когда они запрещены (например, конечные теги для img) или необязательны (например, начальные и конечные теги для элемента body).
Если вы хотите, чтобы ваши страницы обрабатывались как XHTML, тогда используйте приложение / xhtml + xml (и попрощайтесь с поддержкой из Internet Explorer).
(Вот почему я придерживаюсь HTML 4.01 для большинства проектов)
См. http://www.w3.org/TR/xhtml-media-types/ для получения более подробной информации (включая полный набор рекомендаций по совместимости, чтобы превратить ваш XHTML в форму, в которой пользовательские агенты HTML могут с этим справиться).