---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideModalForm - 클라이언트

# GlideModalForm - 클라이언트 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 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, 부울 읽기 전용) {#ariaid-title2}

GlideModalForm 클래스의 인스턴스를 작성합니다.
{#r_GMFV3-GlideModalForm_S_S_F_B__table_ikc_xjm_qv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 제목 | 문자열 | 모달 양식 제목입니다. |
| 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: 읽기/쓰기로 설정합니다. {#r_GMFV3-GlideModalForm_S_S_F_B__ul_rmh_jnx_p4b} 기본값: false |
[표 1. 매개변수]

{#r_GMFV3-GlideModalForm_S_S_F_B__table_ikc_xjm_qv}  
이 예제에서는 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(문자열 이름, 문자열 값) {#ariaid-title3}

지정된 양식 필드를 지정된 값으로 설정합니다.
{#r_GMFV3-addParm_S_S__table_tb2_xny_kv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 양식 필드 이름입니다. 지정된 이름이 연결된 모달 양식의 필드가 아니면 무시됩니다. |
| 값 | 문자열 | 지정된 양식 필드를 설정할 값입니다. |
[표 2. 매개변수]

{#r_GMFV3-addParm_S_S__table_tb2_xny_kv} {#r_GMFV3-addParm_S_S__table_ub2_xny_kv__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 3. 반환]

{#r_GMFV3-addParm_S_S__table_ub2_xny_kv}  
이 예제에서는 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) {#ariaid-title4}

개체의 sys_id 기본 설정을 설정합니다.
{#r_GMFV3-setSysID_S__table_krd_1ly_kv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| sys_id | 문자열 | ID 기본 설정입니다. 양식에 전달된 쿼리 매개변수 중 하나입니다. |
[표 4. 매개변수]

{#r_GMFV3-setSysID_S__table_krd_1ly_kv} {#r_GMFV3-setSysID_S__table_lrd_1ly_kv__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 5. 반환]

{#r_GMFV3-setSysID_S__table_lrd_1ly_kv}  
이 예제에서는 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(함수 콜백 함수) {#ariaid-title5}

양식이 서버에서 성공적으로 제출되고 처리되었을 때 호출할 함수를 설정합니다.
{#r_GMFV3-setCompletionCallback_F__table_aqr_ply_kv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 콜백 함수 | 기능 | 양식이 성공적으로 처리된 경우 호출할 콜백 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: sys_ui_action 기록에서 action_name * sys_id: 영향을 받는 기록의 Sys_id * table: 기록이 포함된 테이블의 이름 * displayValue: 양식에 나타나는 값 {#r_GMFV3-setCompletionCallback_F__ul_udl_4jy_kv} |
[표 6. 매개변수]

{#r_GMFV3-setCompletionCallback_F__table_aqr_ply_kv} {#r_GMFV3-setCompletionCallback_F__table_bqr_ply_kv__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 7. 반환]

{#r_GMFV3-setCompletionCallback_F__table_bqr_ply_kv}  
이 예제에서는 연결된 모달의 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(함수 콜백 함수) {#ariaid-title6}

양식이 로드된 후 호출할 함수를 설정합니다.
{#r_GMFV3-setOnloadCallback_F__table_uqr_qmy_kv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 콜백 함수 | 기능 | 양식 로드 후 호출할 함수입니다. 콜백 함수의 양식은 `callBackFunction(GlideModalForm obj)`입니다 |
[표 8. 매개변수]

{#r_GMFV3-setOnloadCallback_F__table_uqr_qmy_kv} {#r_GMFV3-setOnloadCallback_F__table_vqr_qmy_kv__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 9. 반환]

{#r_GMFV3-setOnloadCallback_F__table_vqr_qmy_kv}  
이 예제에서는 연결된 모달의 로드 시 콜백 함수를 설정하는 방법을 보여줍니다.

    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() {#ariaid-title7}

모달 양식을 표시합니다.
{#r_GMFV3-render__table_upp_jny_kv__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 10. 매개변수]

{#r_GMFV3-render__table_upp_jny_kv} {#r_GMFV3-render__table_vpp_jny_kv__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 11. 반환]

{#r_GMFV3-render__table_vpp_jny_kv}  
이 예제에서는 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();
    }


