「Thank you」ページのカスタマイズ

アダプティブフォームを REST エンドポイントに送信する際は、フォームの送信が成功したことをユーザーに知らせる確認メッセージを表示する必要があります。 POST 応答には送信 ID などの送信に関する詳細が含まれ、適切に設計された確認メッセージには送信 ID が含まれており、ユーザーエクスペリエンスを向上させます。 この応答は、アダプティブフォームで設定した「Thank you」ページに表示できます。

次のスクリーンショットは、「Thank you」ページが設定されたフォームデータモデルの送信アクションを使用してフォームが送信されている様子を示しています。

「Thank you」ページ

フォームデータモデルのPOSTは、応答で常にJSON オブジェクトを返します。このJSONは、_fdmSubmitResult_というクエリパラメーターとして、「ありがとうございます」ページのURLで利用できます。このクエリパラメーターを解析し、感謝ページにJSON要素を表示できます。
次のサンプルコードでは、JSON応答を解析して、数値フィールドの値を抽出します。その後、適切なxmlが作成され、slingRequestに渡されてフォームに入力されます。このコードは通常、アダプティブフォームテンプレートに関連付けられているページコンポーネントのjspで記述されます。

if(request.getParameter("fdmSubmitResult")!=null)
{
    String fdmSubmitResult =  request.getParameter("fdmSubmitResult");
    String status = request.getParameter("status");
    com.google.gson.JsonObject jsonObject = com.google.gson.JsonParser.parseString(fdmSubmitResult).getAsJsonObject();
    String caseNumber = jsonObject.get("result").getAsJsonObject().get("number").getAsString();
    slingRequest.setAttribute("data","<afData><afUnboundData><data><caseNumber>"+caseNumber+"</caseNumber><status>"+status+"</status></data></afUnboundData></afData>");
}

「Thank you」ページは、クエリパラメーターから応答を抽出するカスタムコードを記述できる、新しいアダプティブフォームテンプレートに基づいて作成することをお勧めします。

ソリューションのテスト

アダプティブフォームを作成し、フォームデータモデル送信アクションを使用してフォームを送信するように設定します。
​ サンプルのアダプティブフォームテンプレートをデプロイ ​
このテンプレートに基づいてサンキューフォームを作成します
このサンキューページをメインフォームに関連付けます
createXml.jspのjsp コードを変更して、アダプティブフォームの事前入力に必要なxmlを構築します。
アダプティブフォームをプレビューして送信します。
サンキューページが表示され、XMLで指定されたデータが事前入力されます

recommendation-more-help
experience-manager-learn-help-forms