2009-03-08 14 views
5

本当に2つの質問。なぜこれらのコードはXHTML 1.0 Strictに妥当性がないのですか? XHTML 1.0 Strictはプロジェクトの要件です。XHTML厳密な検証

2行目は

文書型は、ここで要素「入力」を許可しないという問題がありました。 「h3」、「h4」、「h5」、「h6」、「div」、「pre」、「address」、「fieldset」、「ins」のうち、 、 "del"開始タグ。

<form enctype="multipart/form-data" action="upload.php" method="post"> 
<input type="hidden" name="max_file_size" value="1048576" /> 
<table><tr><td><b>Image location: </b></td><td><input type="file" name="file" size="30"/></td></tr> 
<tr><td><b>Caption: </b></td><td><input type="text" name="caption" size="30"/></td></tr> 
<tr><td><input name="submit" type="submit" value="Upload" /></td><td>*(png, jpeg, jpg and gif files &lt; 1mb)</td></tr></table> 
</form> 

そして、2行目と3

文書型は、ここで要素 "入力" を許可していないため。 「h3」、「h4」、「h5」、「h6」、「div」、「pre」、「address」、「fieldset」、「ins」のうち、 、 "del"開始タグ。

<form action="#"> 
    <input type="text" size="30" name="query" value="" onkeypress="return disableEnterKey(event)" /> 
    <input type="button" name="searchButton" value="Search" onclick="loadResults(this.form)" /> 
</form> 
+1

必須ですか?私はあなたのプロジェクトが好きです!世界にはもっと多くのものが必要です。 :) – jalf

答えて

6

はこのような何かを試してみてください。 <入力>の要素はインライン形式の要素であり、インライン要素はブロックコンテキストでは表示されません。お試しください

<fieldset> 
    <input ... /> 
<fieldset> 
+0

いいえ、 "p"、 "h1"、 "h2"、 "h3"、 "h4"、 "h5"、 "h6"、 "div"、 "pre" 、 "アドレス"、 "フィールドセット"、 "イン"、 "デル" – strager

+2

それは "または他のブロックタグ"と言われている理由 – Andy

+0

それが私が「または他のブロックタグ」と言った理由です。しかし、彼がやっていることを考えれば、フィールドセットが最も適切です。 –

5

メッセージが言うように、フォームの直接の子として入力要素を持つことができません。 "h1"、 "h2"、 "h3"、 "h4"、 "h5"、 "h6"、 "div"、 "pre"、 "address"、 "fieldset" 、 "ins"、 "del"である。

"p"、 "div"、 "fieldset"要素の中に入れるのが最も簡単な方法です。

2

XHTMLでは、入力要素をフォーム内に直接配置しないように厳密に指定する必要があります。バリデータによって提案されたブロックレベルの要素のいずれかに入力を配置することで、エラーを修正できます。あなたは<フィールドセット>または他のブロックタグでフォーム入力を配置する必要があり

<form action="#"> 
    <div> 
     <input type="text" size="30" name="query" value="" onkeypress="return disableEnterKey(event)" /> 
     <input type="button" name="searchButton" value="Search" onclick="loadResults(this.form)" /> 
    </div> 
</form> 
関連する問題