window.showModalDialog及window.showModelessDialog

file.php页面JS代码

<script type="text/javascript" src="JQuery/jquery-1.5.1.js"></script>
<script type="text/javascript">
function dianJi(){
//建立一个数组作为参数传到弹出页面
//var self=new Array("a1","a2","a3");
//弹出窗口不影响原窗口获得焦点
//window.showModelessDialog("file2.php",self,"dialogwidth=500px;dialogheight=500px;dialogtop=100px;dialogleft=100px;center=no;help=no;resizable=no;status=no;scroll=yes");
//弹出窗口关闭前,原窗口不能获得焦点
//val接收模窗口关闭时模页面window.returnValue = 传过来的值,只能用来接收showModalDialog打开的页面,不能接收showModelessDialog传回的值
var val = window.showModalDialog("file2.php",self,"dialogwidth=500px;dialogheight=500px;dialogtop=100px;dialogleft=100px;center=no;help=no;resizable=no;status=no;scroll=yes");
alert(val);
}

function back_db(a){
$(
"input[name='text2']").val(a);
}
</script>

 HTML代码
<input type="button" onclick="dianJi()" value="触发"/>
<input type="text" id="text1" value="hello world!"/>
<input type="text" name="text2" value="hello!"/>

file2.php要弹出页面的路径文件名

self要传给弹出页面的参数,类型不限制,对于字符串类型,最大为4096个字符,也可传对象

可选参数,用来描述对话框的外观等信息,可以使用以下的一个或几个参数,用分号 ; 隔开,所有参数放在一个双引号内
1.dialogHeight:对话框高度,用px做单位
2.dialogWidth:对话框宽度
3.dialogLeft:离屏幕左的距离
4.dialogTop:离屏幕上的距离
5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度
6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes
7.resizable: {yes | no | 1 | 0 }:是否可被改变大小。默认no
8.status: {yes | no | 1 | 0 }:是否显示状态栏。默认为yes[ Modeless]或no[Modal]
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条,默认为yes

file2.php页面JS代码
 

<script type="text/javascript">
if(window.dialogArguments[0]){
var self=window.dialogArguments;//window.dialogArguments接收前面self传来的数组
alert(self[1]);
}
else{
//parent.dialogArguments.document.getElementById("text1").value="你好世界!";//parent.dialogArguments效果等同window.dialogArguments
window.dialogArguments.document.getElementById("text1").value="你好世界!";
window.dialogArguments.back_db(
"你好!");
}
window.returnValue
= "模窗口关闭";
</script>

用window.dialogArguments即可接收前面传来的参数,又可以调用前页面的内容,但两个功能不能同时拥有
而且当想要调用前页面内容时,前页面第二个参数必须写成self,且不能赋任何值
posted @ 2011-04-10 19:44  风吹屁股凉冰冰  阅读(1668)  评论(0编辑  收藏  举报