むかしむかし HTML で
私はW3Foolsを探していて、W3Schoolsのエラーに関連するこの段落を見つけました:
<form> First name: <input type="text" name="firstname" /><br /> Last name: <input type="text" name="lastname" /> </form>
このコードは間違っています。非ブロックレベル要素 ( など) は、HTML5 までタグ
<input>
内で直接有効ではありません。<form>
ええと、私はいつもそのようにフォーマットしているので、「待って、ずっと間違っていた」と自分に言い聞かせました。そして、それが本当かどうかを確認するために検証に行きます。事実上、このコードは検証に合格しません。
次に、正しいマークアップを検索したところ、より信頼できる情報源からいくつかの例を見つけましたが、次の例のいずれもバリデーターを通過しませんでした。
悪いこと、良いこと、醜いこと
1.W3スクールズ
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
2. Mozilla ネットワーク開発者
「例」セクションで、私はこれを見つけました:
一般的なユースケースのシナリオ
<!-- A common form that includes input tags --> <form action="getform.php" method="get"> First name: <input type="text" name="first_name" /><br /> Last name: <input type="text" name="last_name" /><br /> E-mail: <input type="email" name="user_email" /><br /> <input type="submit" value="Submit" /> </form>
3. W3C ウィキ
<form action="http://www.google.com/search" method="get">
<label>Google: <input type="search" name="q"></label>
<input type="submit" value="Search...">
</form>
一握りのコード
詳細:
HTML 4.01 と XHTML 1.0 の両方で、コードを HTML フラグメントとして検証しようとしています。私が見つけた繰り返しのエラーは次のとおりです。
ドキュメント タイプは、ここで要素「入力」を許可しません。"p"、"h1"、"h2"、"h3"、"h4"、"h5"、"h6"、"div"、"pre"、"address"、"fieldset"、"ins" のいずれかが欠落しています。 、「del」開始タグ
質問
フォームを作成するために使用する必要がある、正しく有効なマークアップは何ですか?
前もって感謝します。
編集:
OPをHTML4仕様のフォームセクションにリダイレクトする同様の質問が回答されました。彼らはこのコードを提供しました:
<FORM action="http://somesite.com/prog/adduser" method="post">
<P>
<!--...stuff...-->
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>
</FORM>
まず、それは彼らのwikiの同じコードではありません。しかし、私が知っていることから、wikiは100%正確ではありません....しかし:
すべてのタグを で囲むことにより、検証エラーを修正します
<p>
。しかし、フォームは段落ではありませんよね? このコードは検証に合格していますが、あまりセマンティックではないと思います...あなたが私にくれた専門家の回答 (ありがとう!) は、ほとんどの場合、内側のタグを で囲むこと
<fieldset>
ですが、1 つだけ必要な場合fieldset
(たとえば、フィールドが 1 つしかないフォームまたは自己関連フィールド)、これは正しい?これは不要なコードではないfieldset
でしょうか (タグは同様のフィールドを囲む必要があるため)。