728x90
반응형
부모의 부모창은 어떻게?
메인창에서 팝업화면을 호출 후 팝업창에서 또 다시 새로운 팝업창을 호출하였다.
예시) 메인화면 --> 팝업1 --> 팝업2
이때 팝업2 에서 메인화면을 컨트롤 하고자 하는 경우 parent 또는 opener..... 를 사용하게 되는데
이렇게 될경우 팝업2 에서는 팝업1 을 인식하고 있으므로 script 오류가 발생하게 된다.
parent는 iframe 또는 frame 구조를 사용시에 이용되고 opener. 은 팝업화면에서 부모창에 대한컨트롤시 사용된다.
때문에 부모의 부모창을 컨트롤 하기 위해서는
opener.opener. 이렇게 두번 사용하게되면 메인화면 에 대한 컨트롤이 가능하다.
예를들어
예시 :: 메인화면 --> 팝업1 --> 팝업2
function goList(seq, name, date) {
opener.form1.elements["seq"].value = seq;
opener.form1.elements["name"].value = name;
opener.form1.elements["date"].value = date;
window.close();
}
이렇게 사용할 경우 팝업2는 팝업1 에 대해 컨트롤을 하는것으로 인식하므로 스크립트 에러가 발생한다.
팝업2 에서 메인화면으로 데이터전송 또는 컨트롤을 위해서는
function goList(seq, name, date) {
opener.opener.form1.elements["seq"].value = seq;
opener.opener.form1.elements["name"].value = name;
opener.opener.form1.elements["date"].value = date;
window.close(); //현재화면(팝업2) 닫음
opener.window.close(); //팝업1 닫음
}
위와같이 스크립트를 사용할 경우 팝업2 에서는 메인화면에 대한 화면컨트롤이 가능하며 팝업1 과 팝업2는 스크립트가 실행되면서 자동으로 닫히게 된다. 만약 팝업화면을 닫고 싶지 않을 경우에는 window.close(); 이 부분을 주석처리하면된다.
opener.parent.list1.location.reload();
를 하니깐 부모의 부모의 왼쪽 프레임이 새로고침 되었다.
728x90
반응형
'Web Programming > java-jsp' 카테고리의 다른 글
telnet 포트확인 (0) | 2014.03.21 |
---|---|
assertThat(), is() (0) | 2014.03.18 |
잘 되던 프로젝트가 갑자기 에러가!! (0) | 2014.02.24 |
jsp 한글깨짐!!!!!!!!!!!!!!!! (0) | 2014.02.17 |
PORT 접근 TEST[telnet ip port] (0) | 2014.02.17 |