인프런 커뮤니티 질문&답변

김수연 김님의 프로필 이미지
김수연 김

작성한 질문수

실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터

4.8 주문 삭제 기능 구현하기

팝업 종료 콜백

해결된 질문

작성

·

768

0

부모에서 자식 팝업을 띄울 때,

this.gfnOpenPopup("popup", "Board::OB_001_02.xfdl", oArg, sPopupCallBack, oOption);

이렇게 사용한다고 하셨는데,

sPopupCallBack 사용예시가 있을까요?

 

팝업 내에서 서버호출 후에 콜백함수 예시는 있는데,

자식 팝업에서 부모로 콜백시키는 함수(sPopupCallBack) 는 있는데 예시는 없어서요.

 

자식 팝업에서 수정완료 후 this.close(); 하면서

부모의 그리드(주문내역 조회)를 reload 하고싶습니다.

답변 1

0

kitdow.on님의 프로필 이미지
kitdow.on
지식공유자

안녕하세요~ 킷도우입니다. 주문 수정 팝업에서 수정 진행 후 팝업이 닫힌 즉시 주문 내역을 재조회하는 기능 관련 문의 주셨는데요. 구현법은 아래와 같습니다.

  1. fnPopupCallback 함수 정의하기

    (이 함수의 이름은 gfnOpenPopup 매개변수 중 sPopupCallBack 변수 값과 일치해야 합니다.)

    this.fnPopupCallback = function(strId, strVal)

    {

    trace(" strId : " + strId + " strVal : " + strVal);

    switch(strId)

    {

    case "popup" : //gfnPopupOpen 함수 사용시 첫번째 매개변수와 매칭

    this.fn_search();

    break;

    }

    };

     

  2. fn_search 함수 정의하기

    주문 조회 버튼을 눌렀을 때 이벤트 영역에 정의했던 내용을 그대로 복붙하여 fn_search 함수를 만들어줍니다.

    this.fn_search = function(){

    this.ds_searchList.clearData();

    this.ds_searchList.addRow();

    this.ds_searchList.setColumn(0,"ORD_NO",this.edt_ordNo.value);

    this.ds_searchList.setColumn(0,"CUST_NM",this.edt_custNm.value);

    this.ds_searchList.setColumn(0,"COMP_YN",this.chk_cmpYn.value);

    this.ds_searchList.setColumn(0,"ORD_STAT_CD",this.cbo_ordStat.value);

    this.ds_searchList.setColumn(0,"CUST_GBCD",this.rdo_custGb.value);

    var strSvcId = "selectOrdList";

    var strSvcUrl = "selectOrdList.do";

    var inData = "ds_searchList=ds_searchList";

    var outData = "ds_list=ds_list";

    var strAvg = "";

    var callBackFnc = "fnCallback";

    this.gfnTransaction(strSvcId ,

    strSvcUrl ,

    inData ,

    outData ,

    strAvg ,

    callBackFnc);

    }

여기까지 구현하면 말씀하신 기능이 실행이 됩니다.

최초 주문 수정 팝업 오픈(gfnOpenPopup) -> 팝업이 닫힐 때 콜백 함수 호출(fnPopupCallback) ->switch문에서 팝업 ID가 popup인 소스 실행(fn_search, 주문 내역 조회) 의 순서로 소스가 실행된다고 보시면 되겠습니다.

추가 문의 사항 있으시면 댓글 남겨주세요.

감사합니다^^

김수연 김님의 프로필 이미지
김수연 김
질문자

감사합니다 :)

김수연 김님의 프로필 이미지
김수연 김

작성한 질문수

질문하기