chinsun9 / nodejs-ejs-juso-api-practice

0 stars 0 forks source link

안녕하세요 질문 드립니다 #1

Open CooolRyan opened 4 months ago

CooolRyan commented 4 months ago

node js를 활용한 도로명 주소 api 게시글 중에 제일 잘 작성해주셔서.. 참고중입니다. 해당 코드를 ejs가 아닌 nunjucks로 바꾸어 작성했는데 실행 시 주소 입력을 하게 되면 window.close가 되지 않고 처음의 jusopop 창으로 돌아가는 현상이 있네요.. post 시에 변수들에 값이 잘 저장되고 이때 보면 inputYn의 값이 Y로도 되어있는데.. 혹시 해당 값은 어떻게 변경이 되는지 알 수 있을까요?

chinsun9 commented 4 months ago

답변 늦었습니다.

의심되는 부분은 window.close() 동작 안됨이니까, image

https://github.com/chinsun9/nodejs-ejs-juso-api-practice/blob/6ac297df73dd652213cd7ae328d61fc0d250881b/views/index.ejs#L56-L57 index view 56라인 하단에 pop.close() 같은 느낌으로 시도해보면 좋을 것 같습니다!

<script language="javascript">
+     var pop;
      function goPopup() {
-        var pop = window.open(
+        pop = window.open(
          '/popup/jusoPopup',
          'pop',
          'width=570,height=420, scrollbars=yes, resizable=yes'
        );
      }
      function jusoCallBack(
        roadFullAddr,
        roadAddrPart1,
        addrDetail,
        roadAddrPart2,
        engAddr,
        jibunAddr,
        zipNo,
        admCd,
        rnMgtSn,
        bdMgtSn,
        detBdNmList,
        bdNm,
        bdKdcd,
        siNm,
        sggNm,
        emdNm,
        liNm,
        rn,
        udrtYn,
        buldMnnm,
        buldSlno,
        mtYn,
        lnbrMnnm,
        lnbrSlno,
        emdNo
      ) {
        // 팝업페이지에서 주소입력한 정보를 받아서, 현 페이지에 정보를 등록합니다.
        document.form.roadAddrPart1.value = roadAddrPart1;
        document.form.addrDetail.value = addrDetail;
        document.form.zipNo.value = zipNo;
+       pop.close()
      }
    </script>