부모 창 코드: (임의의 이름)
<! 공용 DOCTYPE HTML "-//W3C//DTD XHTML 1.0 전환 / / 엉" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< 머리 >
< 메타 http-equiv = "콘텐츠 형식 콘텐츠 =" text/html; 문자셋 = utf-8 "/ >
< 제목 > 제목 문서 < / 타이틀 >
< 스크립트 언어 = "자바 스크립트" >
var 자식;
함수 OnClick () {
window.open ('childwindow.html');
}
함수 SetData (ID, 이름) {
document.getElementById (이 하 ' id'). 값 = ID;
document.getElementById ('이름'). 값 = 이름;
}
< / 스크립트 >
< / 헤드 >
< 몸 >
< p > id: < 입력 유형 = "텍스트" id = "id" / >< /p >
< p > 이름: < 입력 유형 = "텍스트" id "이름" = / >< /p >
< p >< 입력 유형 = "버튼" 값 = 팝업 "onclick =" onclick (); "/ >< /p >
< / 바디 >
< / html >
자식 창 코드: (childwindow.html)
<! 공용 DOCTYPE HTML "-//W3C//DTD XHTML 1.0 전환 / / 엉" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< 머리 >
< 메타 http-equiv = "콘텐츠 형식 콘텐츠 =" text/html; 문자셋 = utf-8 "/ >
< 제목 > 제목 문서 < / 타이틀 >
< / 헤드 >
< 몸 >
< 표 테두리 = "1" >
< tr onclick = "Opener.setdata (this.childnodes[0].innerhtml, this.childnodes[1].innerhtml); Window.close ();" >< 회 > id < /th >< 일 > < /th >< /tr >
이름
< tr onclick = "Opener.setdata (this.childnodes[0].innerhtml, this.childnodes[1].innerhtml); Window.close ();" >< td > 1 < 신안 >< td > 토니 < 신안 >< /tr >
< tr onclick = "Opener.setdata (this.childnodes[0].innerhtml, this.childnodes[1].innerhtml); Window.close ();" >< td > 2 < 신안 >< td > 릴리 < 신안 >< /tr >
< tr onclick = "Opener.setdata (this.childnodes[0].innerhtml, this.childnodes[1].innerhtml); Window.close ();" >< td > 3 < 신안 >< td > 존 < 신안 >< /tr >
< / 테이블 >
< / 바디 >
< / html >
통해
//multi-browser 테스트
부모 창 코드 (parent.html)
<! 공용 DOCTYPE HTML "-//W3C//DTD XHTML 1.0 전환 / / 엉" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< 머리 >
< 제목 > 제목된 페이지 < / 타이틀 >
< / 헤드 >
< 몸 >
< 입력 유형 = "텍스트" 이름 = "Data_key" id = "Data_key" / >
< 입력 유형 = "텍스트" 이름 = "Data_value" id = "Data_value" / >
< 입력 유형 = "버튼" id = "Open_child_window" 값 = "List_datas" / >
< 스크립트 유형 = "텍스트/자바 스크립트" >
window.onload 함수 () {
=
//Get 버튼을 자식 창
var openchildbtn = document.getElementById ("Open_child_window");
//Open 새 창 함수
함수 Opennewwindow (URL) {
window.open (URL);
}
//Call 새로운 창 주소
를 지정 하는 새 창 함수를 엽니다.
함수 Openchildwindow () {
Opennewwindow ("child.html");
}
//Button 이벤트
바인딩
경우 (document.all) {
openchildbtn.attachevent ("onclick", Openchildwindow); //ie
}else{
Openchildbtn.addeventlistener //Non IE
("클릭", Openchildwindow)
}
}
< / 스크립트 >
< / 바디 >
< / html >
자식 창 코드 (child.html)이 명명 된, 변경 하려는 경우 당신이 필요는 child.html 안에 부모 창 코드를 또한 제거
<! 공용 DOCTYPE HTML "-//W3C//DTD XHTML 1.0 전환 / / 엉" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< 머리 >
< 제목 > 제목된 페이지 < / 타이틀 >
< 스타일 형식을 "Text/css" = >
몸 {글꼴-크기: 12px}
. Data_list {배경: #ddf}
. Data_list Td 배경: 화이트
< / 스타일 >
< / 헤드 >
< 몸 >
< 테이블 cellspacing = "1" cellpadding = "3" 테두리 "0" 클래스 = "data_list" = >
< tr >
< td id = "Data_key_1" > data_key_1 < 신안 >
< td id = "Data_value_1" > data_value_1 < 신안 >
< td >< 입력 유형 = "버튼" id = "data_submitor_1" 값 = "제출" / >< 신안 >
< /tr >
< tr >
< td id = "data_key_2" > data_key_2 < 신안 >
< td id = "data_value_2" > data_value_2 < 신안 >
< td >< 입력 유형 = "버튼" id = "data_submitor_2" 값 = "제출" / >< 신안 >
< /tr >
< tr >
< td id = "Data_key_3" > data_key_3 < 신안 >
< td id = "Data_value_3" > data_value_3 < 신안 >
< td >< 입력 유형 = "버튼" id = "Data_submitor_3" 값 = "제출" / >< 신안 >
< /tr >
< tr >
< td id = "Data_key_4" > data_key_4 < 신안 >
< TD id = "Data_value_4" > data_value_4 < 신안 >
< td >< 입력 유형 = "버튼" id = "Data_submitor_4" 값 = "제출" / >< 신안 >
< /tr >
< / 테이블 >
< 스크립트 유형 = "텍스트/자바 스크립트" >
부모 창
를
//Send 데이터
함수 Senddatatoparent (키, 값) {
경우 (Window.opener & & window.opener.document.getElementById ("Data_key") & & Window.opener.document.getElementById ("Data_value")) {
window.opener.document.getElementById ("Data_key"). 값 = 키;
window.opener.document.getElementById ("Data_value"). 값 = 값;
}
}
window.onload 함수 () {
=
//If 부모 창 닫힘 또는 않습니다 하지 존재,
에 직접 반환
경우 (! window.opener) 반환;
//Traverse 모든 데이터
에 대 한 (Var i = 1; 나 < 5; + + 나) {
//Get 전송 버튼
var btn = document.getElementById ("Data_submitor_" + i.tostring ());
//If는 단추는 유효한
경우 (btn) {
//Button 이벤트
바인딩
경우 (document.all) {//ie
이벤트 응답 개체에 그래서 함수 개체 전달
구현에 필요한는 보다는 오히려
//attachevent 응답 함수에서 this이 포인터를 창 포인트
기능 (태그) {
Geteventhandle
반환 함수 () {
var temp = Tag.id.split ("_");
var 인덱스 = 온도 [temp.length-1];
senddatatoparent (document.getElementById ("Data_key_" + 인덱스). Innerhtml,document.getelementbyid ("Data_value_ "+). InnerHTML); 색인
}
}
btn.attachevent ("onclick", Geteventhandle (BTN));
}else{//non 인터넷 익스플로러
Btn.addeventlistener ("클릭", 함수 () {
var temp = This.id.split ("_");
var 인덱스 = 온도 [temp.length-1];
Senddatatoparent (document.getElementById ("Data_key_" + 인덱스). Innerhtml,document.getelementbyid ("Data_value_" + 인덱스). InnerHTML);
});
}
}
}
}
< / 스크립트 >
< / 바디 >
< / html >
클릭 트리거 이벤트
ID XX name의 값을 할당 하는 부모 창 개체는 yy
는
window.parent.document.getElementById (이 하 ' xx'). 값 = Document.getelementsbyname ('YY'). 가치;