1. 모든 제어권을 새로 띄워지는 창이 가짐.
 -> showModalDialog로 생성된 팝업창을 닫아야 부모창은 다른 액션을 취할 수 있음.

2. 사용방법
   window.showModalDialog("url","arguments","options");
   - url은 모달다이어로그로 열 html 문서의 주소
   - arguments는 대화 상자에 넘겨줄 인자
   - options
     dialogHeight : pixel 높이
     dialogWeight : pixel 너비
     dialogLeft  : 좌측 상단의 x 좌표
     dialogTop   : 좌측 상단의 y 좌표
     center       : 중앙위치설정(yes/no)
     help         : help 아이콘(yes/no)
     scroll       : 스크롤바(yes/no)
     resizable    : 크기조절 가능여부(yes/no)
     status       : 상태표시줄 표시여부(yes/no)

3. arguments 전달방법(부모창 -> 모달창)
   1) window.showModalDialog("URL", window, "dialogWidth:600px; dialogHeight:600px;status:no;help:no");
      -> arguments로 window 객체를 넘겨주었고 모달창에서는 window.dialogArguments 로 parent Object에 접근가능
         var win = window.dialogArguments;
         var pform = win.document.dataForm;
   2) 여러개의 객체를 넘기는 방법
      <INPUT TYPE="text" ID="gHtxtZipNo" SIZE="10">
      <INPUT TYPE="text" ID="gHtxtAddr" SIZE="30">
   
      객체를 생성해서 넘긴다.
      var oArgObj = new Object();
      oArgObj.pZipNo = "123456";
      oArgObj.pAddr = "zzzzzz";


      window.showModalDialog("URL", oArgObj, "dialogWidth:600px; dialogHeight:600px;status:no;help:no");


      모달창에서 넘어온 값을 참조방법

       var paramObj = window.dialogArguments;

       alert(paramObj.pZipNo);


4. Return 값 전달방법(모달창 -> 부모창)
   부모창
   -> rVal = window.showModalDialog("URL", window, "dialogWidth:600px; dialogHeight:600px;status:no;help:no");
 
   모달창
   -> var arg = window.dialogArguments; 부모창에서 인자로 넘어온 값
      window.returnValue = 호출한 페이지로 넘길 값(위의 경우 이 값은 rVal에 저장된다)
      window.close();

출처 : http://blog.naver.com/lsy94307/140011313721

+ Recent posts