WEB开发网
开发学院网页设计JavaScript showModalDialog()、showModelessDialog()方法使用... 阅读

showModalDialog()、showModelessDialog()方法使用详解

 2010-09-14 13:07:42 来源:WEB开发网   
核心提示: <script>var a = window.dialogArgumentsalert("您传递的参数为:" + a)</script>test3.htm<script>var a = window.dialogArgumentsal

<script>
 var a = window.dialogArguments
 alert("您传递的参数为:" + a)
</script>

test3.htm

====================

<script>
 var a = window.dialogArguments
 alert("您传递的参数为window对象,名称:" + a.name)
</script>

可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

test4.htm

===================

<script>
 var a = window.showModalDialog("test5.htm")
 for(i=0;i<a.length;i++) alert(a[i])
</script>

test5.htm

===================

<script>
function sendTo()
{
 var a=new Array("a","b")
 window.returnValue = a
 window.close()
}
</script>
<body>
<form>
 <input value="返回" type=button onclick="sendTo()">
</form>

常见问题:

1,如何在模态对话框中进行提交而不新开窗口?

如果你 的 浏览器是IE5.5+,可以在对话框中使用带name属性的iframe,提交时可以制定target为该iframe的name。对于IE4+,你可以用高度为0的frame来作:例子,

test6.htm

===================

<script>
 window.showModalDialog("test7.htm")
</script>

test7.htm

===================

if(window.location.search) alert(window.location.search)
<frameset rows="0,*">
 <frame src="about:blank">
 <frame src="test8.htm">
</frameset>

test8.htm

===================

<form target="_self" method="get">
<input name=txt value="test">
<input type=submit>
</form>
<script>
if(window.location.search) alert(window.location.search)
</script>

2,可以通过http://servername/virtualdirname/test.htm?name=mxh方式直接向对话框传递参数吗?

答案是不能。但在frame里是可以的。

上一页  1 2 3 

Tags:showModalDialog showModelessDialog 方法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接