フォームの種類について

Forms サービスを初めて使用する場合は、あらかじめ、Forms サービスで使用されるフォームの種類について理解しておくことをお勧めします。ここでは、これらのフォームの種類について説明します。

流動レイアウトのフォーム

流動レイアウトのフォームは、データの事前入力またはユーザーの操作によって変化するレイアウトを備えています。データに応じて調整されるフォームデザインでは、レイアウト、表示およびデータキャプチャに関するルールのセットが指定されます。このようなフォームデザインには、ユーザー入力に基づく値の計算機能が含まれます。これらのルールは、ユーザーがフォームにデータを入力する際、またはサーバーがデータをフォームにマージする際に適用されます。

流動レイアウトのフォームは、不確定な量のデータをユーザーに表示する際に便利です。フォームの固定レイアウトやページ数を事前に決定する必要はありません。流動レイアウトのフォームやフォームデザインが PDF フォームとしてレンダリングされる場合、インテリジェントな改ページが生成されます。

固定レイアウトのフォーム

固定レイアウトのフォームは、フィールドに入力されるデータの量に応じて変化することはありません。未入力のフィールドは、そのまま空の状態でフォームに表示されます。逆に、データがフォームに収まりきらない場合でも、はみ出したデータを表示できるようにフォームを拡大することはできません。

サーバー側のフォーム

サーバー側のフォームは、データ主導のフォームです。つまり、フォームのデータはレンダリング時に入力されます。フォームのレイアウトはデータの量によって決まります。特定のフィールドにデータ値の複数のインスタンスを指定できます。これによって、そのフィールドが動的に複製され、個々のデータ値がフォーム内に表示されます。

フォームに対して動的に追加されるフィールドは、フォームデザイン内の「サブフォーム」と呼ばれる構造に格納されます。例えば、データベースに対してクエリーを実行し、不特定件数のレコードを取得するカスタムアプリケーションで、サーバー側のフォームを使用できます。アプリケーションはデータベースからレコードを取得した後、データをフォームにマージします。データがフォームにマージされた時点で、ユーザーに対してフォームがレンダリングされます。

クライアント側のフォーム

通常、クライアント側のフォームは、データ入力用の新しいフィールドを生成するボタン(またはその他のコントロール)をエンドユーザーにクリックさせることで、そのユーザーからデータを収集するような場合に使用されます。新しいフィールドは直ちにフォームに表示され、サーバーへのラウンドトリップは必要ありません。つまり、フォームは LiveCycle に送信されません。クライアント側のフォームの例としては、購入する商品をユーザーが入力できるフィールドと、新しいフィールドを追加するためのボタンを含んだフォームが挙げられます。ユーザーがボタンをクリックするたびに、フォームに新しいサブフォームが追加されます(サブフォームには、関連する一連のフィールドを表示できます)。