フォームデータの計算

Forms サービスは、ユーザーがフォームに入力した値を計算し、結果を表示することができます。フォームデータを計算するには、フォームデータを計算するフォームデザインスクリプトを作成します。フォームデザインは、3 種類のスクリプトをサポートしています。スクリプトの種類には、クライアントで実行されるもの、サーバーで実行されるもの、およびサーバーとクライアントの両方で実行されるものがあります。このトピックで説明するスクリプトの種類は、サーバーで実行されます。サーバー側の計算は、HTML、PDF およびガイド(非推奨)の変換をサポートします。

フォームデザインプロセスの一環として、計算とスクリプトを使用することで、より高度なユーザーエクスペリエンスを提供できます。計算とスクリプトは、ほとんどのフィールドとオブジェクトに追加できます。

ユーザーはフォームに値を入力し、「計算」ボタンをクリックして結果を表示します。次のプロセスは、ユーザーがデータを計算できるようにするアプリケーションの例を示しています。

  • ユーザーは、StartLoan という、Web アプリケーションのスタートページとして機能する HTML ページにアクセスします。このページは、GetLoanForm という名前の Java サーブレットを起動します。

  • GetLoanForm サーブレットは、ローンフォームをレンダリングします。このフォームには、スクリプト、インタラクティブフィールド、「計算」ボタンおよび「送信」ボタンが含まれています。

  • ユーザーはフォームフィールドに値を入力し、「計算」ボタンをクリックします。このフォームは CalculateData Java サーブレットに送られ、ここでスクリプトが実行されます。フォームがユーザーに送り返され、計算結果がフォームに表示されます。

  • ユーザーは、期待どおりの結果が表示されるまで、値の入力と計算を継続します。期待どおりの結果が得られたら、ユーザーは「送信」ボタンをクリックしてフォームを処理します。送信されたデータを取得する、ProcessForm という別の Java サーブレットにフォームが送信されます。(送信済みフォームの処理を参照してください)。

    次の図は、アプリケーションの論理フローを示しています。

    この図の各手順は次のとおりです。

    1. GetLoanForm Java™ サーブレットが HTML スタートページから起動されます。

    2. GetLoanForm Java サーブレットは、Forms サービスのクライアント API を使用して、クライアント Web ブラウザーでローンフォームをレンダリングします。サーバーで実行するように設定されたスクリプトを含むフォームのレンダリングは、スクリプトを含まないフォームのレンダリングとは異なります。その違いは、スクリプトの実行に使用するターゲットの場所を指定する必要があることです。ターゲットの場所を指定しないと、サーバーで実行するように設定されたスクリプトは実行されません。例えば、ここで示したアプリケーションでは、CalculateData Java サーブレットが、スクリプトを実行するターゲットの場所です。

    3. ユーザーは、インタラクティブフィールドにデータを入力し、「計算」ボタンをクリックします。このフォームは CalculateData Java サーブレットに送られ、ここでスクリプトが実行されます。

    4. フォームが Web ブラウザーでレンダリングされ、計算結果がフォームに表示されます。

    5. ユーザーは、値が期待どおりの場合は「送信」ボタンをクリックします。ProcessForm という別の Java サーブレットにフォームが送信されます。

      通常、PDF コンテンツとして送信されるフォームには、クライアントで実行されるスクリプトが含まれます。ただし、サーバー側の計算も実行できます。「送信」ボタンは、スクリプトの計算には使用できません。この状況では、Forms サービスで操作が完了したと見なされるので、計算は実行されません。

      フォームデザインスクリプトの使用方法を示すため、この節では、サーバーで実行されるように設定されたスクリプトを含む、単純なインタラクティブフォームについて説明します。次の図は、スクリプトを含むフォームデザインを示しています。このスクリプトは、ユーザーが最初の 2 つのフィールドに入力する値を合計し、結果を 3 番目のフィールドに表示します。

      フルサイズのグラフィックを表示
      A.
      NumericField1 という名前のフィールド

      B.
      NumericField2 という名前のフィールド

      C.
      NumericField3 という名前のフィールド

      このフォームデザインに含まれるスクリプトの構文は次のとおりです。

          NumericField3 = NumericField2 + NumericField1

      このフォームデザインで、「計算」ボタンはコマンドボタンであり、スクリプトはこのボタンの Click イベントに設定されます。ユーザーが最初の 2 つのフィールドに値を入力して「計算」ボタンをクリックすると、スクリプトが実行されます。Forms サービスは、クライアントデバイスで再びフォームをレンダリングし、計算結果を NumericField3 フィールドに表示します。

      フォームデザインスクリプトの作成について詳しくは、Designer ヘルプを参照してください。