1.父子多种传值
farther.html
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < TITLE > New Document </ TITLE > < META NAME ="Generator" CONTENT ="EditPlus" > < META NAME ="Author" CONTENT ="" > < META NAME ="Keywords" CONTENT ="" > < META NAME ="Description" CONTENT ="" > < script language ="javascript" > <!-- function openChild(){ var k = window.showModalDialog( " child.html " ,window, " dialogWidth:335px;status:no;dialogHeight:300px " ); if (k != null ) document.getElementById( " txt11 " ).value = k; } // --> </ script > </ HEAD > < BODY > < br >传递到父窗口的值: < input id ="txt9" type ="text" value ="3333333333333" >< br > 返回的值: < input id ="txt11" type ="text" >< br > 子窗口设置的值: < input id ="txt10" type ="text" >< br > < input type ="button" value ="openChild" onclick ="openChild()" > </ BODY > </ HTML >
child.html
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < TITLE > New Document </ TITLE > < META NAME ="Generator" CONTENT ="EditPlus" > < META NAME ="Author" CONTENT ="" > < META NAME ="Keywords" CONTENT ="" > < META NAME ="Description" CONTENT ="" > < meta http-equiv ="Expires" CONTENT ="0" > < meta http-equiv ="Cache-Control" CONTENT ="no-cache" > < meta http-equiv ="Pragma" CONTENT ="no-cache" > </ HEAD > < BODY > < br >父窗口传递来的值: < input id ="txt0" type ="text" >< br > 输入要设置父窗口的值: < input id ="txt1" type ="text" >< input type ="button" value ="设置父窗口的值" onclick ="setFather()" >< br > 输入返回的值: < input id ="txt2" type ="text" >< input type ="button" value ="关闭切返回值" onclick ="retrunValue()" > < input type ="button" value ="关闭刷新父窗口" onclick ="" > </ BODY > </ HTML > < script language =javascript > <!-- var k = window.dialogArguments; // 获得父窗口传递来的值 if (k != null ) { document.getElementById( " txt0 " ).value = k.document.getElementById( " txt9 " ).value; } // 设置父窗口的值 function setFather() { k.document.getElementById( " txt10 " ).value = document.getElementById( " txt1 " ).value } // 设置返回到父窗口的值 function retrunValue() { var s = document.getElementById( " txt2 " ).value; window.returnValue = s; window.close(); } // --> </ script >
以下两文件演示关闭子窗,刷新父窗功能
father.html
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < TITLE > New Document </ TITLE > < META NAME ="Generator" CONTENT ="EditPlus" > < META NAME ="Author" CONTENT ="" > < META NAME ="Keywords" CONTENT ="" > < META NAME ="Description" CONTENT ="" > < script language ="javascript" > <!-- function openChild() { var k = window.showModalDialog( " child.html " ,window, " dialogWidth:335px;status:no;dialogHeight:300px " ); if (k == 1 ) // 判断是否刷新 { alert( ' 刷新 ' ); window.location.reload(); } } // --> </ script > </ HEAD > < BODY > < br >传递到父窗口的值: < input id ="txt9" type ="text" value ="3333333333333" >< br > < input type ="button" value ="openChild" onclick ="openChild()" > </ BODY > </ HTML >
child.html
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < HTML > < HEAD > < TITLE >工资单 </ TITLE > < META NAME ="Generator" CONTENT ="EditPlus" > < META NAME ="Author" CONTENT ="" > < META NAME ="Keywords" CONTENT ="" > < META NAME ="Description" CONTENT ="" > < meta http-equiv ="Expires" CONTENT ="0" > < meta http-equiv ="Cache-Control" CONTENT ="no-cache" > < meta http-equiv ="Pragma" CONTENT ="no-cache" > </ HEAD > < BODY > < br >父窗口传递来的值: < input id ="txt0" type ="text" >< br > < input type ="button" value ="关闭刷新父窗口" onclick ="winClose(1)" > < input type ="button" value ="关闭不刷新父窗口" onclick ="winClose(0)" > </ BODY > </ HTML > < script language =javascript > <!-- var k = window.dialogArguments; // 获得父窗口传递来的值 if (k != null ) { document.getElementById( " txt0 " ).value = k.document.getElementById( " txt9 " ).value; } // 关闭窗口返回是否刷新的参数. function winClose(isRefrash) { window.returnValue = isRefrash; window.close(); } // --> </ script >