Please Enable JavaScript!
Gon[ Enable JavaScript ]

javascript 의 showModalDialog 사용해서 새창 제어하기

웹 프로그래밍/자바스크립트
반응형

javascript 의 showModalDialog 사용해서 새창 제어하기 


javascript 에서 showModalDialog 로 새창을 띄울 때 값을 전달해야 하는 경우가 있다.

하나의 값 뿐만 아니라 배열로 전달할수 있어야 한다. POST 로 넘길수 없기 때문에

showModalDialog 함수에서 파라미터로 넘길수 있도록 해 놓았다.

그리고 띄워진 새창에서는 window.dialogArguments 를 사용해서 부모창으로부터

넘겨준 데이터를 받아 사용하면 된다.

 

showModalDialog 문법은 다음과 같다.

rValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])

 

파라미터에 대한 설명

1. sURL
부모가 호출할 자식창의 URL 주소


2. vArguments
 
선택사항이며 자식창으로 값을 넘길수 있는 요소이다. Object , 배열등
다양하게 넘길수가
있으며 자식창에서는 window.dialogArguments 로 찾아 사용하면 
된다.


3. sFeafures
 
다양한 형태의 옵션값들이다.


 
- dialogHeight:sHeight -
다이얼로그 창의 높이를 지정한다.

 - dialogLeft:sXPo - 창의 왼쪽 X값의 위치를 지정한다.

 - dialogTop:sYPos - 창의 상단 Y값의 위치를 지정한다.

 - dialogWidth:sWidth - 다이얼로그 창의 길이를 지정한다.

 - center:{ yes/no, 1/0, on/off } - 위치지정안했을때 창의 위치를 중앙에 놓을지 여부

 - help:{ yes/no, 1/0, on/off } - 도움말 보이기/보이지 않기

 - resizable:{ yes/no, 1/0, on/off } - 창크기변형을 할수 있나 없나

 - scroll:{ yes/no, 1/0, on/off } - 스크롤바의 유/

 - status:{ yes/no, 1/0, on/off } - 상태바를 표시/표시안함

 

배열로 지정해서 넘기면 window.dialogArguments[“id”]; 처럼 지정된 key 값으로 꺼내면 된다.

부모창에서 객체를 넘길때도 자식창에서 var object = window.dialogArguments 받아 그대로

사용하면 된다. 그리고 자식창에서 window.returnValue 에 값을 넣어 넘기면

window.showModalDialog 함수를 실행하고 리턴값으로 자식창이 종료할 때 값이 넘어온다.

예제에서는 msgDialog 에 자식이 넘긴값이 담기게 되는 것이다.


// 부모창


// 자식창

IE 7과 관련해서 window.showModalDialog 로 불려질 때 , <base target=”_self” />입력해야

window.close() 가 정상적으로 작동하게 된다. IE 6 또한 일부 업데이트에 대해서 같은 반응을

보일때가 있다.

  


반응형
Posted by 녹두장군1
,