HTML フォーム内に別の HTML フォームを配置することは有効ですか? [重複] 質問する

HTML フォーム内に別の HTML フォームを配置することは有効ですか? [重複] 質問する

次のような HTML は有効でしょうか?

<form action="a">
    <input.../>
    <form action="b">
        <input.../>
        <input.../>
        <input.../>
    </form>
    <input.../>
</form>

したがって、「b」を送信すると、内部フォーム内のフィールドのみが取得されます。「a」を送信すると、「b」内のフィールドを除くすべてのフィールドが取得されます。

それが不可能な場合、この状況に対するどのような回避策がありますか?

ベストアンサー1

A.有効なHTMLでもXHTMLでもない

公式の W3C XHTML 仕様のセクション B「要素の禁止事項」には、次のように記載されています。

「フォームには他のフォーム要素を含めることはできません。」

http://www.w3.org/TR/xhtml1/#禁止事項

年長者に関してはHTML 3.2 仕様FORMS 要素のセクションでは、次のように述べられています。

「すべてのフォームは FORM 要素で囲む必要があります。 1 つのドキュメントに複数のフォームを含めることができますが、FORM 要素をネストすることはできません。」

B.回避策

フォーム タグをネストする必要なく、JavaScript を使用する回避策があります。

「ネストされたフォームを作成する方法」 (タイトルにもかかわらず、これはネストされたフォーム タグではなく、JavaScript の回避策です)。

このStackOverflowの質問への回答

注: スクリプトを使用して DOM を操作することで、W3C バリデーターをだましてページを通過させることはできますが、それでも HTML として合法ではありません。このようなアプローチの問題は、コードの動作がブラウザー間で保証されなくなることです (標準ではないため)。

おすすめ記事