===== 자식 창 만들기 =====
자식창은 다음과 같이 만든다.
==== 버튼 ====
전달할 값 :
==== 자바스크립트 ====
function openChild() {
// window.name = "부모창 이름";
window.name = "parentForm";
// window.open("open할 window", "자식창 이름", "팝업창 옵션");
openWin = window.open("adressbookpopup.php", "childForm", "width=800, height=800, resizable = no, scrollbars = no");
}
===== 부모 창에서 자식창에 데이터 보내기 =====
자식창을 openwin이란 이름의 변수에 할당하였으므로, openwin으로 자식창에 접근하면 된다.
function setChildText(){
openWin.document.getElementById("cInput").value = document.getElementById("pInput").value;
}
===== 자식 창에서 부모창에 데이터 보내기 =====
==== 자식창 php ====
다음은 자식창의 구조이다. 각 요소를 k라는 인덱스로 구분지었다.
게시판 Title
Table
No
성명
연락처
주소
조회수
";
echo "
";
echo "
". $k. "
";
echo "
". $row['ex_1'] ."
";
echo "
". $row['ex_3'] ."
";
echo "
". substr($row['ex_9'], 8, 36) . "
";
echo "
";
echo "
";
echo "
";
$k++;
} ?>
==== 자식창의 javascript ====
index라는 인자로 배열에서 몇번째임을 받아 온후, 이를 토대로 list의 해당값을 추출한다. 이후 이를 부모 창에 대입한다.
부모창은 opener라는 함수로 얻을 수 있다.
각 li의 텍스트 값은 value가 아니라, textContent임을 유의하자.
function abc(index) {
// 리스트요소(li)에서 index에 해당하는 textContent를 가져오기
var name = document.getElementById("listname_" + index).textContent;
var phone = document.getElementById("listphone_" + index).textContent;
console.log("이름은 : %s, 전화번호는 %s", name, phone);
opener.document.getElementById("parentInput").value = name;
}