Html & Script

modal 모달창 dialogArguments

컨텐츠 정보

본문

웹에서 모달창을 사용하는 경우에는 약간의 제약이 좀 있군요...
무엇보다도 캐싱이 되버려서 갱신시 적용하려면 브라우져를 닫았다가 다시 열어야 갱신이 되는듯..

그렇다고 쿼리 형식으로 원하는 작업은 제대로 작동하고..

각설하고 질문중에 opne으로 창을 열면 부모가 opener 객체가 됩니다.
모달창으로 열면 부모 객체가 dialogArguments 가 된다고 생각하시면 됩니다.
자세한 사항은 아래 참조하시고
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodaldialog.asp

두번째 일반적으로 모달창에서 submit 혹은 postback 시 새창이 열립니다.
이것은 <head></head> 사이에 <base target="_self"> 라고 넣어주시면 해결됩니다.



showModalDialog는 Post방식으로 열수가 없습니다...

 

대신에 dialogArguments를 쓰실 수 있죠.

 

showModalDialog(URL, dialogArguments, properties)

 

이런 형식으로 프로토 타입을 정할 수 있죠.

 

즉... window.showModalDialog("dailogWindow.html", "hello...", "dialogWidth:300px; dialogHeight:200px");

 

이런 형식으로 호출 할 수있습니다...

 

그러면 dialogWindow.html이라는 오픈된 창에서...

 

window.dailogArguments를 참조하면 "hello..."란 문자열을 얻을 수 있는 거죠...

 

그러면 보내고 싶은 값들이 여러개라면?

 

배열로 보내면 됩니다....

 

window.showModalDialog("dailogWindow.html", ["hello", "world"]], "dialogWidth:300px; dialogHeight:200px");

 

이런 형식으로 오픈하고... 오픈된 창에서는

 

var arr = window.dailogArguments;

var hello = arr[0];

var world = arr[1];

 

이런 형식으로 참조하면 됩니다...

 

즉... 님은 오픈하시려고 할때 dialogArguments를 배열로 만들어서 여러개로 보내면...

 

서버쪽에 값을 보내지 않아도 자바스크립트 상에서 파라미터를 보낼 수 있는 거죠...

 

모달창에서는 부모 객체나 변수를 참조하는 것이 안되더라고요...

 

즉... 이런 형식으로 아규먼트로 넘겨주면 쉽게 해결 될 수 있으니 참고하세용...


관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
“무릇 물이란 지세를 따라 흐르되 작은 틈도 놓치지 않고 적시니 지혜를 갖춘 자와 같고, 움직이면서 아래로 흘러가니 예를 갖춘 자와 같으며, 어떤 깊은 곳도 머뭇거리지 않고 들어가니 용기를 가진 자와 같고 장애물이 막혀서 갇히면 고요히 맑아지니 천명을 아는 자와 같으며, 험한 곳을 거쳐 멀리 흐르지만 끝내 남을 허물어뜨리는 법이 없으니 덕을 가진 자와 같다. 천지는 이것으로 이루어지고, 만물은 이것으로 살아가며, 나라는 이것으로 안녕을 얻고, 만사는 이것으로 평안해지며, 만물은 이것으로 바르게 되는 것이다. 이것이 지혜로운 자가 물을 좋아하는 이유이다.” (한영, <<한시외전>>)