부모창에서 자식창으로 값넘기기

부모창에서 자식창으로 값넘기기

QA

부모창에서 자식창으로 값넘기기

본문

인터넷의 어느 고수님의 블로그에서 소스를 가져왔는데요..

자식창에서 부모창으로 값넘기는건 잘 되는데요..

이상하게 부모창에서 자식창으로 값보내는건(팝업창으로 전송) 스크립트 오류가 나네요..

오류: 정의되지 않음 또는 null 참조인 'document' 속성을 가져올 수 없습니다.

 

코드가 틀리진 않았을텐데요.. 왜 부모창에서 자식창으로 값던지기가 안될까요?

소스 함 봐주세요..

 

 

부모창 test1.htm


<script>
var winObject = null;
function popupWindow(){
var settings ='toolbar=0,directories=0,status=no,menubar=0,scrollbars=auto,resizable=no,height=200,width=200,left=0,top=0';
winObject = window.open("test2.htm", "test2", settings);
}
function submitToWindow(){
winObject.document.all.text2.value = document.all.text1.value;
winObject = window.open("test2.htm", "test2", settings);
}
</script>
<input type=text name="text1">
<input type=button value="새창띄우기" onClick="popupWindow();">
<input type=button value="팝업창으로전송" onClick="submitToWindow();">

 

 

자식창  test2.htm


<script>
function submitToParent(){
opener.document.all.text1.value = document.all.text2.value;
}
</script>
<input type=text name=text2>
<input type=button value="부모창으로 전송" onClick="submitToParent()">

이 질문에 댓글 쓰기 :

답변 1

당연히 안되겠네요

1.  문제는

창을 열지도 않고서 winObject.document~~가 실행 될 수는 없습니다

된다고 하더라도 9행에서 페이지를 새로이 열어버리니 값이 남아 잇을 리가 없죠

8,9행 순서를 바꾸면 되겠지만 settings 값을 가져올 수 없으니 또한 에러입니다

 

2. 9행을 없애버리고 13행을 실행해서 창을 연 후에 14행을 실행하면 됩니다

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 234
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT