FORMタグ内のDIVタグについてどう思いますか?
私はこのようなものが必要です:
<form>
<input type="text"/>
<div> some </div>
<div> another </div>
<input type="text" />
</form>
DIV
内部で使用するのが一般的な習慣FORM
ですか、それとも別のものが必要ですか?
回答:
それは完全に大丈夫です。
form
(また、*のみの入力タイプのコントロールを提出するTextarea
、Select
など)。
div
内で心配することは何もありませんform
。
<form>
タグ内でDIVを使用することは完全に許容されます。
あなたはデフォルトを見ればCSS 2.1スタイルシート、div
およびp
の両方にあるdisplay: block
カテゴリ。次に、フォーム要素のHTML 4.01仕様を見ると、<p>
タグだけでなく<table>
タグも含まれているため、もちろん<div>
同じ基準を満たします。<legend>
ドキュメントのフォーム内にもタグがあります。
たとえば、以下は厳密モードでHTML4検証に合格します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<form id="test" action="test.php">
<div>
Test: <input name="blah" value="test" type="text">
</div>
</form>
</body>
</html>
<input>を<form>の直接の子として持つのは誤りです
ちなみに、<input / >は一部のDoctypeで失敗する可能性があります
http://validator.w3.org/checkで確認してください
ドキュメントタイプでは、ここでは要素「INPUT」を使用できません。「P」、「H1」、「H2」、「H3」、「H4」、「H5」、「H6」、「PRE」、「DIV」、「ADDRESS」のいずれかの開始タグがありません
<input type = "text" />
上記の要素は、配置したコンテキストに表示することはできません。他の言及された要素は、そこで許可され、言及された要素を含むことができる唯一の要素です。これは、包含要素が必要なこと、または前の要素を閉じるのを忘れたことを意味する場合があります。
このメッセージの考えられる原因の1つは、ブロックレベルの要素(「<p>」や「<table>」など)をインライン要素(「<a>」、「<span>」など)内に配置しようとしたことです。 "、または" <font> ")。
定義と使用法
タグは、HTMLドキュメントの分割またはセクションを定義します。
タグは、ブロック要素をグループ化してスタイルでフォーマットするために使用されます。 http://www.w3schools.com/tags/tag_div.asp
また、DIV-MDN
HTML要素(またはHTMLドキュメント分割要素)はフローコンテンツの汎用コンテナであり、本質的に何も表していません。これは、スタイル設定の目的で(classまたはid属性を使用して)要素をグループ化するために、またはそれらがlangなどの属性値を共有するために使用できます。他のセマンティック要素(またはなど)が適切でない場合にのみ使用してください。
フォーム内でdivを使用できます。テーブルの代わりにdivを使用する場合は、テーブルレスWebデザインについてグーグルで検索してください。
div内でフォームタグを開始するときはいつでも、後続のdiv兄弟は、検査(chrome inspect)時にフォームの一部にならないことに気付きました。これ以降、フォームは送信されません。
<div>
<form>
<input name='1st input'/>
</div>
<div>
<input name='2nd input'/>
</div>
<input type='submit'/>
</form>
フォームタグをDIVの外に置くと、機能することがわかりました。フォームタグは、親DIVの先頭に配置する必要があります。以下のように。
<form>
<div>
<input name='1st input'/>
</div>
<div>
<input name='2nd input'/>
</div>
<input type='submit'/>
</form>
絶対違う!レンダリングされますが、検証されません。ラベルを使用してください。
正しくありません。アクセスできません。一部の開発者は怠け者であるため、一部のWebサイトで表示されます。私が開発者を雇っているとき、これは私が候補者の仕事で最初にチェックすることの1つです。フォームは厄介ですが、時間をかけて適切に行うことを学びます
<div>
タグは常に悪用されてWebレイアウトを作成します。その象徴的な目的は、ページ内のセクション/部分を分割して、個別のスタイルを追加または適用できるようにすることです。[w3schools Doc] [W3C]
some
とanother
持っているものに大きく依存します。HTML5には、プレーンなレイアウトタグではなく、より論理的な意味のタグがあります。section
、header
、nav
、aside
すべてがそこに自分のセマンティックな意味を持ちます。そしてに対して使用されます<div>
<select>
、選択肢が与えられている場合、そうでない場合、<a>
または<buttons>
良い場合に最適です。