GlideModalForm - クライアント

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間: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(文字列タイトル, 文字列 tableName, 関数 onCompletionCallback, ブール readOnly)

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

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

    コールバック関数の形式 callbackFunction(文字列 action_verb, 文字列 sys_id, 文字列 table, 文字列 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. パラメーター
    名前 タイプ 説明
    name 文字列 フォームフィールド名。指定された名前が関連するモーダルフォームのフィールドでない場合は、無視されます。
    value 文字列 指定されたフォームフィールドに設定する値。
    表 : 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 関数 フォームが正常に処理されたときに呼び出すコールバック関数。
    コールバック関数の形式 callbackFunction(文字列 action_verb, 文字列 sys_id, 文字列 table, 文字列 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 関数 フォームがロードされた後に呼び出す関数。コールバック関数の形式 callBackFunction(GlideModalForm obj)
    表 : 9. 返される内容
    タイプ 説明
    なし

    この例では、関連するモーダルの 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
    }

    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();
    }