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

자식창에서 검색값을 부모창으로 넘기는 질문 채택완료

어렵지 않은 부분에서 어의없게 해매고 있네요;;;;;ㅠㅠ

 

부모창의 input을 클릭했을때 자식창 popup이 뜨고 거기서 검색을 해서

 

검색결과를 클릭했을때 부모창의 input에 값이 들어가면 되는 부분인데요;;;

 

일단 부모창의 input은 id="etc_4" onclick="window.open('works/test.php','asf','width=400,height=600');

요렇게 해서 자식창을 띄웁니다.

 

자식창은

</p>

<p><?

    $root = "../";

    include "{$root}db.inc.php";

    include "{$root}config.inc.php";

?>

<form name="aaa">

    <input type="text" name="etc_4_sch">

    <input type="submit">

<?

    if($_GET[etc_4_sch]){

        $etc_sel = "select subject from 테이블 where subject like '%{$_GET[etc_4_sch]}%' group by subject order by subject asc";

        //echo $etc_sel;

        $result = mysql_query($etc_sel);</p>

<p>        while($row=mysql_fetch_array($result)) {        

?>

    

    <a onclick="opener.document.TCBOARD_BD47410_WRITE_index1.getElementById('etc_4').value=<?=$row[subject];?>;window.close();"><?=$row[subject];?></a>

<?

    }

    }

?>

</form></p>

<p>

 

요렇게 되어있구요;;;

 

결과에 onclick을 걸었는데 클릭하면 

 

Uncaught TypeError: opener.document.TCBOARD_BD47410_WRITE_index1.getElementById is not a function at HTMLAnchorElement.onclick (test.php?etc_4_sch=불광:5)

 

이런 에러가 뜹니다...검색어는 '불광'입니다.

 

이유가 뭘까요?

 

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

답변 2개

채택된 답변
+20 포인트

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

답변에 대한 댓글 1개

감사합니다. 덕분에 잘 해결되었습니다.

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

부모창 form 이름이 TCBOARD_BD47410_WRITE_index1 인가요?

 

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

답변에 대한 댓글 3개

네 맞습니다
직접 확인은 못해봤지만 추측하건데.


opener.document.TCBOARD_BD47410_WRITE_index1.getElementById('etc_4').value=<?=$row[subject];?>;



opener.document.getElementById('etc_4').value=<?=$row[subject];?>;

폼네임을 빼고 해보세요..

그래도 안된다면..

첫번째

'etc_4' 라는 id값은 부모창에 1개 이지만
자식창에서 while 안에서 여러번 지정해서 발생하는 오류가 아닐까 생각해봅니다.

id값 자체는 중복이 될수없으니까요.

두번째
제목일경우 홑따옴표 등의 문자열이 들어갈경우

-------------------------------------------------------------------

하나의 함수를 만들어 꺼내는식으로 해보심 어떨까요?

<a onclick="sel_it('<?=$row[subject]?>')">$row[subject];?></a>

fuction sel_it(subject){
opener.document.getElementById('etc_4').value= subject;
}
감사합니다. 덕분에 잘 해결되었습니다.

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

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

로그인

전체 질문 목록

🐛 버그신고