returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口知道吧,就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值,下面举个例子:
1、parent.html
- //father.html
- <HTML>
- <HEAD>
- <METANAME="GENERATOR"Content="Microsoft Visual Studio 6.0">
- <TITLE></TITLE>
- <scriptlanguage="javascript">
- function showmodal(){
- var ret = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no");
- if (ret){alert('子窗口返回真!');
- }else{
- alert('子窗口返回假!');
- }
- }
- </script>
- </HEAD>
- <BODY>
- <INPUTid=button1type=buttonvalue=Buttonname=button1onclick="showmodal();">
- </BODY>
- </HTML>
//father.html <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <TITLE></TITLE> <script language="javascript"> function showmodal(){ var ret = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no"); if (ret){alert('子窗口返回真!'); }else{ alert('子窗口返回假!'); } } </script> </HEAD> <BODY> <INPUT id=button1 type=button value=Button name=button1 onclick="showmodal();"> </BODY> </HTML>
2、child.html
- //child.html
- <HTML>
- <HEAD>
- <METANAME="GENERATOR"Content="Microsoft Visual Studio 6.0">
- <TITLE></TITLE>
- <scriptlanguage="javascript">
- function trans(tag){
- if (tag==0){
- window.returnValue=false;
- } else{
- window.returnValue =true;
- }
- window.close();
- }
- </script>
- </HEAD>
- <BODY>
- <INPUTid=button1type=buttonvalue="返回真"name=button1onclick="trans(1)">
- <INPUTid=button2type=buttonvalue="返回假"name=button2onclick="trans(0)">
- </BODY>
- </HTML>
//child.html <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <TITLE></TITLE> <script language="javascript"> function trans(tag){ if (tag==0){ window.returnValue=false; } else{ window.returnValue =true; } window.close(); } </script> </HEAD> <BODY> <INPUT id=button1 type=button value="返回真" name=button1 onclick="trans(1)"> <INPUT id=button2 type=button value="返回假" name=button2 onclick="trans(0)"> </BODY> </HTML>
总结:
这样一来可以实现从模式窗口向父窗口传递值的作用,这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。
具体showModalDialog等的用法,可以参考msdn。