フォーム送信時に確認ポップアップを表示する方法

フォーム送信時に確認ポップアップを表示する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

フォーム送信時に確認ポップアップを実装すると、ユーザーが処理を進める前に内容を検証し、確定できます。ユーザーがデータを送信すると、確認ダイアログボックスが表示されます。この機能拡張により、意図しないフォーム送信を防止し、重要な処理に対して追加の確認レイヤーを提供することで、ユーザーエクスペリエンスが向上します。以下の手順を、アプリケーション内の任意のメインフォームに設定することで、送信時に確認ポップアップを表示できます。
  1. 次の内容でフォームを作成し、確認ポップアップとして表示します。

    フォーム名

    フォームリンク名

    項目タイプ

    項目名

    項目リンク名

    Confirmation Pop-up

    Confirmation_Popup

    (このフォームを複製して、ステートレスフォーム送信を確定しますか?」を作成し、リンク名を Confirm_Submit に設定します)

    メモ

    メモ
     
    メモ: メモ項目の内容は、ポップアップと一緒にユーザーに表示されます。例えば、メッセージ「フォームを送信してもよろしいですか?」と入力しています。

    メモ

    複数行

    Temp Data

    Temp_Data

  2. 送信を確定しますか?」ステートレスフォームのフォームプロパティに移動し、送信ボタンとリセットボタンのラベルを確定キャンセルに変更します。また、これらのボタンのタイプを 送信 および リセット から「ボタン」に変更します(以下の例を参照)。

  3. ワークフローを作成し、「送信を確定しますか?」ステートレスフォーム内のTemp_data複数行項目を、内部用途で使用するため非表示にします。フォームイベントとして項目ルールを選択し、ワークフロー名を「項目を非表示」に設定します。

  4. 追加 新規アクション > 項目を非表示をクリックし、表示されているようにTemp Data項目を選択します。

  5. 新しいワークフローを作成し、標準フォーム(メインフォーム)のフォーム送信成功時に実行されるよう設定して、データが送信されるたび(作成または編集)に確認ポップアップを表示します。

  6. 追加 新規アクション > Deluge Scriptをクリックし、次のコードを Deluge エディターに追加します。これにより、メインフォーム内の各項目に入力された値を取得し、JSON 形式に変換します。生成された JSON は、「送信を確定しますか?」ポップアップフォーム内の非表示のTemp_Data複数行項目に設定されます。
    1. //Fetchで、ID を入力データの ID と照合して追加されたデータを取得します。
    2. sourceRecord =<Main_form_link_name>[ID == input。ID];
    3. //getFieldNames();関数を使用して、Asset_Requests フォーム内のすべての項目の項目リンク名を取得します。
    4. fieldNames = sourceRecord。getFieldNames();
    5. //項目リンク名とその値を JSON 形式で保存するためのマップ変数を作成します。
    6. jsonObject = Map();
    7. for each 項目 in fieldNames
    8. {
    9. 値 = sourceRecord。getFieldValue(項目);
    10. jsonObject。put(項目,値);
    11. }
    12. //toString(); 関数を使用して JSON をテキストに変換します。
    13. jsonString = jsonObject。toString();
    14. //encodeで JSON 文字列をエンコードし、URL パラメーターに値を渡せるようにします。
    15. encoded_json = encodeUrl(jsonString);
    16. //確認ポップアップを表示する前に、入力値をクエリパラメーターとして渡してメインフォームを開くます。これにより、送信後のフォーム更新時に項目値が消えることを防げます。
    17. openUrl('#Form:<Main_form_link_name>?<Field_link_name_1>='+input.<Field_link_name_1>+'&<Field_link_name_2>='+input.<Field_link_name_2>+'&<Field_link_name_3>='+input.<Field_link_name_3>,'same window');
    18. //開くで「確定して送信しますか?」というステートレスフォームをポップアップで開き、JSON の値を Temp_Data 複数行項目に渡します。
    19. openUrl('#Form:Confirm_Submit?Temp_Data=' + encoded_json,'popup window','height=300,width=500');
    20. //削除で、ユーザーの確認なしに登録されることを防ぐため、送信済みデータを削除します。
    21. 削除 差出人 <Main_form_link_name>[ID == sourceRecord];
    22. ここで、

      <Main_form_link_name>

      は、ユーザーが[送信]をクリックしたときに確認ポップアップが表示されるフォームのリンク名です。

  7. フォームワークフローを作成し、「確定して送信しますか?」ステートレスフォーム内のボタンをクリックしたときに実行されるように設定し、ボタンとして[確定]を選択します。ワークフロー名を「送信データ」とします。

  8. 新しいアクションを追加 > Deluge Script]をクリックし、以下のコードを Deluge エディターに追加します。これにより、ユーザーがポップアップ内の[確定]ボタンをクリックしたときに、Temp_Data 項目に JSON として保存されている取得済み入力値を使用して、メインフォームにデータが追加されます。
    1. //追加するで、Temp_Data 項目に保存された JSON データを、JSON キーと項目リンク名を照合してメインフォームのデータとして追加します。
    2. insert into <Main_form_link_name>
    3. [
    4. Added_User=Zoho。loginuser
    5. <Field_link_name_1>=input。Temp_Data。getJSON('<Field_link_name_1>')
    6. <Field_link_name_2>=input。Temp_Data。getJSON('<Field_link_name_2>')
    7. <Field_link_name_3>=input。Temp_Data。getJSON('<Field_link_name_3>')
    8. ];
    9. //ユーザーをメインフォームにリダイレクトします。
    10. openUrl('#Form:<Main_form_link_name>','same window');
  9. 別のワークフローを作成し、「確定して送信しますか?」ステートレスフォーム内のボタンをクリックしたときに実行されるように設定し、ボタンとして[キャンセル]を選択します。ワークフロー名を「キャンセルデータ」とします。

  10. 新しいアクションを追加 > Deluge Script]をクリックし、以下のコードを Deluge エディターに追加します。これにより、ユーザーがポップアップ内の[キャンセル]ボタンをクリックしたときに、「確定して送信しますか?」ポップアップが閉じられます。
  1. //「確定して送信しますか?」ポップアップウィンドウを閉じます。
  2. openUrl('#Script:page。閉じる ','popup window');

動作を確認する

 
  1. ステートレスフォーム
  2. getFieldNames()
  3. encodeURL()
  4. openURL()
  5. データを追加
  6. データを削除


    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.