2011-08-13 5 views
1

入力タグ文句:W3Cバリデータはボタンが受け入れられないと主張:W3Cバリデータは、私はこれらのHTMLタグと間違っているかわからない

<div id='mainDiv'> 
    <div id='div1' > 
    <form id='SampleFormID' action=''> 
    <input type='button' id='downloadSample' ><br> 
    </form> 
    </div> 
</div> 

W3Cエラー:あなたが持っている

Line 144, Column 49: document type does not allow element "INPUT" here; 
    missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", 
    "ADDRESS" start-tag 


I'm using <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">. 
+0

また、ここで見ることができます:input'要素がする必要がある 'ので、あなたがこれをしなければならない http://stackoverflow.com/questions/253312/why-wont-this-xhtml-form-validate – Pieniadz

答えて

4

input要素を例えばdivの中に入れます。

<div id='mainDiv'> 
    <div id='div1' > 
    <form id='SampleFormID' action=''> 
     <div><input type='button' id='downloadSample' ></div> 
    </form> 
    </div> 
</div> 
+0

理由があります'div'のようなブロックレベルの要素の中にいてください。 [ちょうど明らかではなかった場合](http://nerdmeltla.com/wp-content/uploads/2011/08/the-more-you-know.jpg) – sdleihssirhc

+0

これは[HTML4]の場合です( http://www.w3.org/TR/html401/interact/forms.html#edef-FORM)。しかし、[HTML5](http://www.w3.org/TR/html5/forms.html#the-form-element)では、フォームはブロックレベルの要素を予期していませんが、フロー要素(インライン要素)です。 – Shi

1

バリデータがHTML 4.0厳格を想定している

<div id='mainDiv'> 
    <div id='div1' > 
    <form id='SampleFormID' action=''> 
    <p><input type='button' id='downloadSample' /></p> 
    </form> 
    </div> 
</div> 
2

、これを試してみてください。現在のDOCTYPE宣言を<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">に置き換えると、それは検証されます。

+1

また、HTML5のdoctype '<!DOCTYPE html>'を使用してください。 – Shi

0

@stewe

最良の答えは、入力されたタグは、それが<div>又は<p>であるかどうか、任意のカバーコードを必要とします。 しかし、最も良いのは<div></div>です。一般的な出力からの入力タグ、または<p>タグの汎用タグではありません。

関連する問題