使用ShowModelDialog()搞不定了,请大家帮忙。
我看了孟子E章的文章,与他的操作方法一样。
建立两个页面,1.htm是父页,2.htm是打开的对话框页。
第一个问题:
使用showmodeldialog的第二个参数,传递父页的window对象,在2.htm上无法使用
代码:
1.htm
showmodeldialog("2.htm",window,"dialogHeigh:200;dialogWidth:200");
2.htm
if(window.dialogArguments != null)
{
// 操作
}
在2.html的这个判断出现错误,显示信息:window为空或不是对象。
如果没有上面的判断语句的话,直接用:
window.dialogArguments.location.reload(true);
出现错误:被呼叫方拒绝接受呼叫。
第二个问题:
使用showmodeldialog()方法,打开的窗口可以使用returnValue向父窗口返回值:
window.returnValue = 'aaa';
但是还是出现第一个问题的毛病:window为空或不是对象。
第三个问题:
这时候我就奇怪了,上面的方法我在微软的MSDN帮助里面看到的,所有的IE5.5以上的浏览器肯定支持,而我用的是IE6.0,不可能出现对象不能引用的错误啊,我就用代码测试了一下:
我在对话框页面上加入了一个表单,名称是Form1,在表单里面加入了一个<div>元素,名称是msg,然后我用下面的代码:
function window.onload()
{
window.Form1.msg.innerText = 'aa';
}
还是出现上面的消息:window.Form1.msg为空或不是对象。
但是奇怪的问题,我用:
window.document.window.document.getElementById("msg").innerText = 'aa';
成功,可以正常显示,这个我就不明白了。