GlideModalForm :クライアント

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:9分
  • GlideModalForm API は、GlideModal にフォームを表示するメソッドを提供します。

    GlideModalForm クラスの一般的な使用法には、オブジェクトの作成、設定の設定、GlideModalForm のレンダリングが含まれます。
    var dialog = new GlideModalForm('dialog title', 'table_name_or_form_name', [callback on completion of submit])
      dialog.setPreference('name', 'value');
      dialog.render();

    setPreference() メソッドを使用してフォームに渡されるクエリパラメーターを指定します。setPreference() で指定した名前/値のペアは、フォームを表示するためのフォーム POST 要求とともに送信されます。

    GlideModalForm は、ドキュメントウィンドウの高さに合わせて設定されます。

    GlideModalForm - GlideModalForm(文字列 title, 文字列 tableName, 関数 onCompletionCallback, ブール値 readOnly)

    GlideModalForm クラスのインスタンスを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    title 文字列 モーダルフォームのタイトル。
    tableName 文字列 表示されているテーブル。
    onCompletionCallback 関数 フォームが送信され、サーバー上で処理された後に呼び出す関数。

    コールバック関数の形式はcallbackFunction(String action_verb, String sys_id, String table, String displayValue) です。

    • action_verb:実行された UI アクションの名前。たとえば、sysverb_insert ([送信] ボタン)、sysverb_cancel、sysverb_save ([保存] ボタン) などです。
    • sys_id:影響を受けるレコードのSys_id。
    • table:レコードを含むテーブルの名前。
    • displayValue:フォームに表示される値。
    readOnly ブール オプション。モーダルフォームを読み取り専用に設定するかどうかを示すフラグ。
    有効な値:
    • true:フォームを読み取り専用に設定します。
    • false:読み取り/書き込みに設定します。

    デフォルト値:false

    この例では、GlideModalForm オブジェクトをインスタンス化する方法を示します。

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }

    GlideModalForm - addParm(文字列名, 文字列値)

    指定されたフォームフィールドを指定された値に設定します。

    表 : 2. パラメーター
    名前 タイプ 説明
    名前 文字列 フォームフィールド名。指定された名前が関連付けられたモーダルフォームのフィールドでない場合は無視されます。
    文字列 指定されたフォームフィールドに設定する値。
    表 : 3. 戻り値
    タイプ 説明
    なし

    この例では、 addParm() を呼び出してモーダルフォームのsys_idフィールドの値を設定する方法を示しています。

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }

    GlideModalForm:setSysID(文字列 sys_id)

    オブジェクトのsys_id設定を設定します。

    表 : 4. パラメーター
    名前 タイプ 説明
    sys_id 文字列 ID 設定。フォームに渡されるクエリパラメーターの 1 つ。
    表 : 5. 戻り値
    タイプ 説明
    なし

    この例では、 setSysID() メソッドを使用してsys_idの値を初期化する方法を示します。

    function(startDate, endDate) {
      var dialog = new GlideModalForm("Add Schedule Item", "cmn_schedule_span");
      dialog.setSysID("-1");
      dialog.addParm("sysparm_collection", "cmn_schedule");
      dialog.addParm("sysparm_collectionID", this.sysId);
      dialog.addParm("sysparm_collection_key", "schedule");
     
      var q = "schedule=" + this.sysId + "^start_date_time="
       + startDate.serializeInUserFormat() + "^end_date_time="
       + endDate.serializeInUserFormat() + "^";
    
      if (startDate.isAllDay(endDate))
        q += "^all_day=true^";
     
      dialog.addParm("sysparm_query", q);
      dialog.render();
    }

    GlideModalForm:setCompletionCallback(関数 callbackFunction)

    フォームが正常に送信され、サーバーによって処理されたときに呼び出される関数を設定します。

    表 : 6. パラメーター
    名前 タイプ 説明
    コールバック関数 関数 フォームが正常に処理されたときに呼び出すコールバック関数。
    コールバック関数の形式は callbackFunction(String action_verb, String sys_id, String table, String displayValue) です。
    • action_verb:sys_ui_actionレコードからaction_name
    • sys_id:影響を受けるレコードのSys_id
    • table:レコードを含むテーブルの名前
    • displayValue:フォームに表示される値
    表 : 7. 戻り値
    タイプ 説明
    なし

    この例では、関連付けられたモーダルの onload コールバック関数を設定する方法を示します。

    function handleCreateOrEdit(targetFieldName, sourceFieldName, adapterRuleId, transformerSysId){
      dialog = new GlideModalForm('Edit Adapter Rule', "sys_adapter_rule");
      dialog.setSysID(adapterRuleId); //Pass in sys_id to edit existing record
      dialog.addParm('sysparm_form_only', 'true'); //Add or remove related lists
      dialog.setOnloadCallback(hideModalForm);
      dialog.setCompletionCallback(handleAdapterCreatedOrUpdated);
      dialog.render(); //Open the dialog
    }
    function handleAdapterCreatedOrUpdated(action_verb, sys_id, table, displayValue) {
      var draftRecordTransformer = g_form.getValue("draft_record_transformer");
      if(draftRecordTransformer == null || draftRecordTransformer.length == 0) {
        //sync Sticky Replications if it is enabled.
        var ajax = new GlideAjax('ReplicationPoolUtil');
        ajax.addParam('sysparm_name', 'syncStickyReplicationSet');
        ajax.addParam('sysparm_entry_set', g_form.getValue("entry_set"));
        ajax.getXMLWait();
      }
    }

    GlideModalForm:setOnloadCallback(関数 callbackFunction)

    フォームがロードされた後に呼び出される関数を設定します。

    表 : 8. パラメーター
    名前 タイプ 説明
    コールバック関数 関数 フォームのロード後に呼び出す関数。コールバック関数のフォームは callBackFunction(GlideModalForm obj) です
    表 : 9. 戻り値
    タイプ 説明
    なし

    この例では、関連付けられたモーダルのロード時コールバック関数を設定する方法を示します。

    function handleCreateOrEdit(targetFieldName, sourceFieldName, adapterRuleId, transformerSysId){
      dialog = new GlideModalForm('Edit Adapter Rule', "sys_adapter_rule");
      dialog.setSysID(adapterRuleId); //Pass in sys_id to edit existing record
      dialog.addParm('sysparm_form_only', 'true'); //Add or remove related lists
      dialog.setOnloadCallback(hideModalForm);
      dialog.setCompletionCallback(handleAdapterCreatedOrUpdated);
      dialog.render(); //Open the dialog
    }

    GlideModalForm:render()

    モーダルフォームを表示します。

    表 : 10. パラメーター
    名前 タイプ 説明
    なし
    表 : 11. 戻り値
    タイプ 説明
    なし

    この例では、 render() を呼び出してモーダルを表示する方法を示します。

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }