您现在的位置:路成软件 >> 服务与支持 >> 技术文章 >> JS >> 正文内容

javascript中ModalDialog的使用

点击数: 【字体: 收藏 打印文章 查看评论

  最近用到了javascript的ModalDialog,但是发现在ModalDialog中用javascript就不是很方便了。在写一个超链接调用javascript脚本的时候就会弹出另外一个窗口来写.怎样才能控制ModalDialog的内容呢?毕竟我想在输入一些内容以后点关闭ModalDialog,然后刷新父页面或者执行别的操作.原来通过一个变通的方法可以达到,就是使用<iframe>父页面来打开一个ModalDialog页面: NoName2.html用一个<iframe>嵌套另外一个页面,来实现调用脚本及其他等操作.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
<script language="javascript">
    function myOpen()
    {
        var returnstr;
        returnstr = window.showModalDialog('NoName2.html','',"dialogHeight: 500px; dialogWidth: 750px;center: yes; help: no;resizable: no; status: no;");
        //window.open('NoName2.html','',"dialogHeight: 500px; dialogWidth: 750px;center: yes; help: no;resizable: no; status: no;");        
        if(returnstr == 1)
        {
            document.getElementById("div1").innerText = "获得参数";
        }

    }

</script>

</head>

<body>
<a href="javascript:myOpen()">11111111111</a>
<div id="div1">div1</div>
</body>
</html>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Modaldialog Page</title>

</head>

<body>
    <iframe src="noname3.html"  width="100%" height="100%"></iframe>
</body>
</html>

NoName3.html用来被NoName2.html调用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>src Page</title>
    <script language="javascript" type="text/jscript">
        function winclose()
        {
            window.parent.returnValue = 1;
            window.parent.close();
        }

    
</script>
</head>
<body>
<a href="javascript:window.parent.returnValue = 1;window.parent.close();" >aaaaaaaaaaa</a>
<a href="javascript:winclose();">bbbbbbbbbbbbbbbbbbb</a>
</body>
</html> 

  因为NoName3.html是被NoName2.html调用,所以可以设置ModalDialog的returnvalue,但是需要通过window.parent.returnValue进行赋值。在打开ModalDialog页面可以得到returnValue,我在第一个页面把returnValue赋值给了Div,能够看到效果,在实际操作的时候可以通过把原页面根据returnValue状态对页面进行重新加载等.

作者: 来源: 发布时间:2009年03月07日
相关信息
没有相关内容