0

このようなネストされたフォームタグがあります

<form>
    <h5>Main Form</h5>
    <input type="text" />

    <!-- Don't Show This Form -->
    <form style="display:none">
        <input type="text" />
        <input type="text" />
    </form>

    <!-- Don't Show This Form -->
    <form style="display:none">
        <input type="text" />
        <input type="text" />
    </form>

</form>

問題は表示されている最初のフォームですが、それは表示されませんcss インラインです

実際のコードを参照してくださいhttp://jsfiddle.net/fZMKB/

入れ子フォームはルール違反だけどこんな理由で使わざるを得ない

jQueryイベントの前に一連の入力とフォーム要素をリセットする必要があり、このコードを使用しています

    $('form').get(0).reset();

この私の以前の質問から、jQueryを使用してイベントでフォーム要素(入力、選択、テキストエリアなど)をリセットする方法

したがって、フォームタグを使用する唯一の理由は、入力やテキストエリアなどをリセットする必要があるためです..

4

3 に答える 3

3

ネストされたフォームを持つ正当な理由は決してありません。代わりに、適切な HTML 構文を使用し、それに応じて jQuery コードを調整してください。有効な HTML マークアップを次に示します。

HTML

<form>
  <h5>Main Form</h5>
  <input type="text">
  <div class="one" style="display:none">
    <input type="text">
    <input type="text">
  </div>
  <div class="two" style="display:none">
    <input type="text">
    <input type="text">
  </div>
</form>

最初のサブセクションのすべてのテキスト入力、チェックボックス、ラジオ ボタン、および選択メニューをリセットするとします。これには、jQuery の単純な 2 行しか必要ありません。

$(".one input, .one select").val("");
$(".one textarea").html("");

デフォルト値を復元する場合は、data属性を使用して HTML マークアップに値を保存する必要があります。例を次に示します: http://jsfiddle.net/pgNrF/3/

于 2013-08-27T07:44:33.017 に答える
0

HTML でネストされたフォームを持つことはできません。異なるフォームを持つことはできますが、ネストすることはできません

これを参照して ください http://www.w3.org/TR/2011/WD-html5-20110525/forms.html#the-form-element

Content model
Flow content, but with no form element descendants.
于 2013-08-27T07:50:39.757 に答える
0

いいえ、ネストされたフォームは禁止されています。

これは、HTML 4.01 DTD で次のように表現されます。

<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->

http://www.w3.org/TR/html4/interact/forms.html#h-17.3

FORM には必須の開始タグと必須の終了タグがあり、他の FORM を除いて、%block または SCRIPT に何でも含めることができます。

XML DTD は SGML DTD ほど表現力がないため、XHTML では、この規則は人間が読める仕様のテキストでのみ指定されます。

form に他のフォーム要素を含めてはなりません。

http://www.w3.org/TR/xhtml1/#prohibitions

HTML 5 は SGML アプリケーションではなく、言語の公式の機械可読な説明がありません。また、このルールをテキストで表現しています。

コンテンツ モデル:

コンテンツをフローしますが、フォーム要素の子孫はありません。

http://www.w3.org/TR/html5/forms.html#the-form-element

参照

于 2013-08-27T07:36:48.173 に答える