테스트 사이트 - 개발 중인 베타 버전입니다

부모창에서 자식창으로 값넘기기 채택완료

소수리꼬 8년 전 조회 6,712

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

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

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

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

 

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

소스 함 봐주세요..

 

 

부모창 test1.htm

</p>

<p><script>

var winObject = null;</p>

<p>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);

}</p>

<p>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();"></p>

<p>

 

 

자식창  test2.htm

</p>

<p><script>

function submitToParent(){

opener.document.all.text1.value = document.all.text2.value;

}

</script>

<input type=text name=text2>

<input type=button value="부모창으로 전송" onClick="submitToParent()"></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
8년 전

당연히 안되겠네요

1.  문제는

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

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

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

 

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

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인