Forms サービスは、ユーザーがフォームに入力した値を計算し、結果を表示することができます。フォームデータを計算するには、フォームデータを計算するフォームデザインスクリプトを作成します。フォームデザインは、3 種類のスクリプトをサポートしています。スクリプトの種類には、クライアントで実行されるもの、サーバーで実行されるもの、およびサーバーとクライアントの両方で実行されるものがあります。このトピックで説明するスクリプトの種類は、サーバーで実行されます。サーバー側の計算は、HTML、PDF およびガイド(非推奨)の変換をサポートします。
フォームデザインプロセスの一環として、計算とスクリプトを使用することで、より高度なユーザーエクスペリエンスを提供できます。計算とスクリプトは、ほとんどのフィールドとオブジェクトに追加できます。
ユーザーはフォームに値を入力し、「計算」ボタンをクリックして結果を表示します。次のプロセスは、ユーザーがデータを計算できるようにするアプリケーションの例を示しています。
ユーザーは、StartLoan という、Web アプリケーションのスタートページとして機能する HTML ページにアクセスします。このページは、GetLoanForm という名前の Java サーブレットを起動します。
GetLoanForm サーブレットは、ローンフォームをレンダリングします。このフォームには、スクリプト、インタラクティブフィールド、「計算」ボタンおよび「送信」ボタンが含まれています。
ユーザーはフォームフィールドに値を入力し、「計算」ボタンをクリックします。このフォームは CalculateData Java サーブレットに送られ、ここでスクリプトが実行されます。フォームがユーザーに送り返され、計算結果がフォームに表示されます。
ユーザーは、期待どおりの結果が表示されるまで、値の入力と計算を継続します。期待どおりの結果が得られたら、ユーザーは「送信」ボタンをクリックしてフォームを処理します。送信されたデータを取得する、ProcessForm という別の Java サーブレットにフォームが送信されます。(送信済みフォームの処理を参照してください)。
次の図は、アプリケーションの論理フローを示しています。
この図の各手順は次のとおりです。
GetLoanForm Java™ サーブレットが HTML スタートページから起動されます。
GetLoanForm Java サーブレットは、Forms サービスのクライアント API を使用して、クライアント Web ブラウザーでローンフォームをレンダリングします。サーバーで実行するように設定されたスクリプトを含むフォームのレンダリングは、スクリプトを含まないフォームのレンダリングとは異なります。その違いは、スクリプトの実行に使用するターゲットの場所を指定する必要があることです。ターゲットの場所を指定しないと、サーバーで実行するように設定されたスクリプトは実行されません。例えば、ここで示したアプリケーションでは、CalculateData Java サーブレットが、スクリプトを実行するターゲットの場所です。
ユーザーは、インタラクティブフィールドにデータを入力し、「計算」ボタンをクリックします。このフォームは CalculateData Java サーブレットに送られ、ここでスクリプトが実行されます。
フォームが Web ブラウザーでレンダリングされ、計算結果がフォームに表示されます。
ユーザーは、値が期待どおりの場合は「送信」ボタンをクリックします。ProcessForm という別の Java サーブレットにフォームが送信されます。
通常、PDF コンテンツとして送信されるフォームには、クライアントで実行されるスクリプトが含まれます。ただし、サーバー側の計算も実行できます。「送信」ボタンは、スクリプトの計算には使用できません。この状況では、Forms サービスで操作が完了したと見なされるので、計算は実行されません。
フォームデザインスクリプトの使用方法を示すため、この節では、サーバーで実行されるように設定されたスクリプトを含む、単純なインタラクティブフォームについて説明します。次の図は、スクリプトを含むフォームデザインを示しています。このスクリプトは、ユーザーが最初の 2 つのフィールドに入力する値を合計し、結果を 3 番目のフィールドに表示します。
フルサイズのグラフィックを表示![](images/fo_CalData.png) - A.
- NumericField1 という名前のフィールド
- B.
- NumericField2 という名前のフィールド
- C.
- NumericField3 という名前のフィールド
このフォームデザインに含まれるスクリプトの構文は次のとおりです。
NumericField3 = NumericField2 + NumericField1
このフォームデザインで、「計算」ボタンはコマンドボタンであり、スクリプトはこのボタンの Click イベントに設定されます。ユーザーが最初の 2 つのフィールドに値を入力して「計算」ボタンをクリックすると、スクリプトが実行されます。Forms サービスは、クライアントデバイスで再びフォームをレンダリングし、計算結果を NumericField3 フィールドに表示します。
フォームデザインスクリプトの作成について詳しくは、Designer ヘルプを参照してください。
|
|
|