2

Webプログラムで問題が発生しました。フォームにtextareaを取得しましたが、textareaに何もない場合があるため、genshiテンプレートエンジンはそれを次のように出力します。

<textarea xxxx />

ここで問題が発生します。後続のすべてのタグがテキストエリアにあります。すべてのブラウザが単一のテキストエリアを正しく処理できないのはなぜですか?

私がそれを書くなら

<textarea xxxx></textarea>

そして、すべてが正常に動作します。なぜ単一のテキストエリアがxhtmlの次のタグを台無しにするのですか?

4

1 に答える 1

4

おそらく、あなたはtext / html Content-typeでXHTMLを提供し、それをHTMLとして処理させているからです。XMLスタイルの自己終了タグはHTMLには存在しません(したがって、禁止されている場合(imgの終了タグなど)またはオプション(body要素の開始タグと終了タグなど)を除いて、明示的な開始タグと終了タグを使用する必要があります。

ページをXHTMLとして処理したい場合は、application / xhtml + xmlとして機能します(そして、Internet Explorerからのサポートに別れを告げます)。

(これが、ほとんどのプロジェクトでHTML 4.01に固執する理由です)

詳細については、 http://www.w3.org/TR/xhtml-media-types/を参照してください(XHTMLをHTMLユーザーエージェントが対応できる形に変更するための互換性ガイドラインの完全なセットを含む)。

于 2009-09-15T15:14:57.570 に答える