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를 배열로 만들어서 여러개로 보내면...

 

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

 

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

 

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


관련자료

등록된 댓글이 없습니다.
Today's proverb
모든 일은 망설이는 것보다 불완전할 때 시작하는 것이 한 걸음 앞서는 것이다.