메뉴 건너뛰기

조회 수 7310 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

▶▷ 알아두면 좋은 것들

 

 이번글에서는 부모창과 자식창을 연결해서 서로 제어할 수 있도록 해볼거에요.

특히, 'window' 객체 하위의 'opener' 객체를 활용해서 부모창과 자식창에 있는 텍스트 입력란이 서로 텍스트 데이터를 교환해서 출력해보도록 하겠습니다.

 

 방식만 이해한다면, 쉽게 응용할 수 있겠죠?

저 같은 경우는 비록 편법이었지만 이것과 디비를 이용해서 웹에서 대화창을 구성해봤습니다.

다른 것도 알아야 하지만 이것이 핵심 중의 하나였죠 ^^

 

 다음과 같이 opener를 활용할 수 있습니다.

window.opener.document.frm1.txt.value;

 여기서 'opener' 객체자기 자신을 연 기존 창의 window 객체를 참조합니다.

그리고 그렇게 얻어진 window 객체로부터 페이지에 접근을 할 수 있죠.

 

 소스를 보며, 같이 알아봅시다 ^^

 


소스(Source)

 

 두개의 소스가 필요합니다.

 자식창과 그 자식창을 열 부모창으로 구성되겠습니다.

 두개다 받으셔야 테스트가 가능합니다.

 

1. 부모창 소스 -  소스다운 Doit.html

<HTML>
<HEAD>
<TITLE>자바스크립트를 활용한 새창과 기존창의 텍스트 가져오기</TITLE>
</HEAD>
<SCRIPT language="javaScript">
 1. var newWindow;
 
 function open_Page(){
 2.  newWindow=window.open("Doit_1.html", "Doit", "height=100,width=200,resizable=yes");  
 }
 
 function receiver_onclick(){
      alert("자식창에 있는 폼의 TEXT를 받아옵니다.");
 3.  document.frm1.txtReceiver.value=newWindow.document.frm1.txtSender.value;  
 }
</SCRIPT>
<BODY>

<FORM name=frm1>
     <input type=button value="자식창 열기" onclick=open_Page()><br>
 4.  부모창 Sender : <input type=text name=txtSender size=10><br>
 5.  부모창 Receiver : <input type=text name=txtReceiver size=10><br>
     <input type=button value="받아오기" onclick=receiver_onclick()>
</FORM>

</BODY>

</HTML>


 

2. 자식창 소스 - 소스다운 Doit_1.html

<HTML>
<HEAD>
<TITLE>자바스크립트를 활용한 새창 열기 닫기</TITLE>
</HEAD>
<SCRIPT language="javaScript">
  
 function receiver_onclick(){
      alert("부모창에 있는 폼의 TEXT를 받아옵니다.");
 6.  document.frm1.txtReceiver.value=window.opener.document.frm1.txtSender.value;
 }
 
</SCRIPT>
<BODY>

<FORM name=frm1>
     자식창 Sender : <input type=text name=txtSender size=10><br>
     자식창 Receiver : <input type=text name=txtReceiver size=10><br>
     <input type=button value="받아오기" onclick=receiver_onclick()>
</FORM>

</BODY>
</HTML>


 


소스설명

 

1. 새창을 담을 변수 설정

var newWindow;

 

2. 자식창을 활성화

newWindow=window.open("Doit_1.html", "Doit", "height=100,width=200,resizable=yes");

- 새창을 엽니다. 자식창의 파일이름은 'Doit_1.html'이 되겠고, 새창과 관련 내용은 상단의 관련글을 참고해 주세요.

 

3. 자식창의 텍스트 입력란 Sender로부터 텍스트값 받아오기

document.frm1.txtReceiver.value=newWindow.document.frm1.txtSender.value;

- 이부분 역시 BOM을 이용해서 부모창과 자식창의 텍스트 입력란에 접근을 하는데요.

자식창의 window 객체를 담고 있는 변수 'newWindow'를 통해서 접근을 합니다.

 

4. 부모창 Sender

부모창 Sender : <input type=text name=txtSender size=10>

- 부모창의 Sender 입니다. 자식창 Receiver 에게 보내줄 텍스트를 가집니다.

 

5. 부모창 Receiver

부모창 Receiver : <input type=text name=txtReceiver size=10>

- 부모창의 Receiver 입니다. 자식창 Sender에게서 텍스트를 받습니다.

 

6. opener를 통한 자식창으로의 접근

document.frm1.txtReceiver.value=window.opener.document.frm1.txtSender.value;

- 3번과 비슷한 부분입니다. 여기서 중요한 것은 역시 opener입니다.

자식창에서 부모창의 window 객체로 접근할 수 있는 것은 opener 가 유일한데요.

이처럼 'opener'를 이용해서 부모객체의 'window' 객체를 참조하고, BOM을 이용해서 원하는 동작을 마무리 합니다.

 


  1. No Image 01Mar
    by
    2014/03/01 Views 7020 

    활용예제 : 체크박스 전체선택 전체해제 /라디오버튼

  2. No Image 21Sep
    by
    2016/09/21 Views 6103 

    현재시간 기준 날짜 계산

  3. No Image 25Mar
    by
    2021/03/25 Views 218 

    현재 날짜, 시간 ( Month + 1 에 대해서 )

  4. No Image 19Jun
    by
    2015/06/19 Views 10744 

    핸드폰 번호 일부 마스킹크 작업 (정규식 이용)

  5. No Image 01Mar
    by
    2014/03/01 Views 6083 

    해상도에 따라 배경 바꾸기

  6. No Image 21Sep
    by
    2016/09/21 Views 5976 

    함수의 arguments 를 이름(key)으로 접근하기

  7. No Image 16Jan
    by
    2019/01/16 Views 1180 

    한글 짜르기

  8. No Image 16Jan
    by
    2019/01/16 Views 1164 

    한글 또는 영문만이 존재하는지 체크

  9. No Image 16Jan
    by
    2019/01/16 Views 1168 

    풍선도움말

  10. No Image 26Mar
    by
    2021/03/26 Views 215 

    폼안에 태그명, 함수명 같을때 오류

  11. No Image 26Mar
    by
    2021/03/26 Views 190 

    페이지 이동

  12. No Image 03Feb
    by
    2015/02/03 Views 8500 

    페이지 로드 할때 컨트롤에 포커스 주기

  13. No Image 12Jan
    by
    2023/01/12 Views 130 

    패스워드, 확인패스워드가 맞는지 체크

  14. No Image 28Sep
    by
    2018/09/28 Views 1738 

    팝업창 차단 "허용 메시지"

  15. No Image 26Mar
    by
    2021/03/26 Views 888 

    팝업창 맨위로 올라오게 하기

  16. No Image 23Dec
    by
    2016/12/23 Views 6705 

    팝업창 가운데 띄우기

  17. No Image 17Mar
    by
    2014/03/17 Views 8698 

    특정부위 마우스 오버시 설명을 보여주는 소스

  18. No Image 16Jan
    by
    2019/01/16 Views 1593 

    특정 부분 인쇄 자바스크립트

  19. No Image 09Sep
    by
    2016/09/09 Views 7075 

    특정 HTML DOM 엘레멘트로 스크롤 이동하기

  20. 텍스트박스(input type = "text") 숫자 증가, 감소 시키기 - 쇼핑몰 주문 수량

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved