1

私の質問は、Webページではなく、Webアプリケーションのコンテキストに由来します。その文脈では、データを提出することはしばしば意味がありません。コントロールを使用してアプリケーションの状態を変更したい。

私には、フォームを使用しても意味がありません。ただし、変更するにはコントロール/ウィジェットが必要です。つまり、入力などのタグが必要です。これは「フォームコントロール」であり、常にフォーム内に含める必要があることを示しています。さらに、コントロールをフィールドセットタグに整理したいと思います。

そのため、これは私には同義的に間違っているように見えますが(送信しないため)、すべてのコントロールをフォームタグでラップする必要があるかどうか疑問に思いました。

いくつかの簡単な検索の後、私はトピックに関する次の2つのbreifフォーラムディスカッションを見つけました。

  1. http://www.webmasterworld.com/forum21/8837.htm
  2. http://doctype.com/can-fieldset-outside-form

それらを要約すると、フォームの外部でフォームコントロールを使用すると、w3cで検証されます。ただし、レンダリングは実際には古いブラウザでは機能しない可能性があります(Netscape 4のように、私は本当に気にしません)。

最初のリンクでは、私の種類のシナリオで対称的に正しいこととして、フォームの外部でフォームコントロールを使用するためのサポートがあるようです。ただし、他の方法では、フィールドセットの使用は、対称的に正しいことを気にする場合は、フォーム内で厳密に行う必要があるようです。

これは、フォームの外部でコントロールを自由に使用する必要があることを意味しますが、フィールドセットではなくdivでラップする必要がありますか、それとも別の方法でこれを読む必要がありますか?

4

2 に答える 2

2

w3cは次のように述べています。

17.2.1制御タイプ

コントロールの作成に使用される要素は、通常、FORM要素の内部に表示されますが、ユーザーインターフェイスの構築に使用される場合は、FORM要素の宣言の外部に表示されることもあります。これについては、固有のイベントに関するセクションで説明します。フォーム外のコントロールは正常なコントロールにはなり得ないことに注意してください。

17.10フォームへの構造の追加:FIELDSET要素とLEGEND要素

FIELDSET要素を使用すると、作成者はテーマに関連するコントロールとラベルをグループ化できます。

17.10はフォーム要素について言及していません。これは、コントロールとラベルを囲む必要があることを除いて、使用できる場所に制限がないことを意味します。17.10.2フォームの外でそれらを使用できるように思われます。したがって、コントロールとラベルをラップする限り、フォームの外部でフィールドセットを使用することもできます。

于 2013-02-11T10:03:05.637 に答える
0

実際にフォームを送信する必要なしにフォームコントロールが必要なユースケースに出くわしました。

時々、タグで囲むことは事態を悪化させるだけです。なぜなら、フォームは単にページを送信してリロードするのに対して、私はJS関数を呼び出すことに興味があるかもしれないからです。WindowsPhoneでPhoneGapアプリケーションを使用してこれに遭遇しました。

私の場合、W3C検証は、作業がはるかに簡単になるので、あまり気になりません。

于 2013-02-11T06:55:38.213 に答える