javascript showModalDialog 回调函数

父窗口:

<script type="text/javascript">
function f1(){

window.showModalDialog("h2.html",window,'dialogHeight:400px;dialogWidth:750px;status=off;scroll=yes;resizeable=yes;');
}
function f2(){
alert('parent window');
}
</script>
<input type="button" onclick='f1()'>

h2.html

<body>
<table><tr><td>
<input type="button" onclick='javascript:window.dialogArguments.f2()'>
</td></tr></table>
</body>

使用了showModalDialog,就不能使用parent以及top等的一些参数作为回调的途径,需要回调关键在于要在子页面上回调时使用 window.dialogArguments

测试过,直接使用this.returnValue返回一个父窗口接受的值只对字符串生效,而是用到数组或是对象时不成功,因此才改用回调函数实现。

网上找到一些资料是可以返回对象的,只可惜偶失败了。有待考究。

你可能感兴趣的:(JavaScript,html)