javascript中ModalDialog的使用

最近做项目用到了javascript的ModalDialog,但是发现在ModalDialog中用javascript就不是很方便了.在写一个超链接调用javascript脚本的时候就会弹出另外一个窗口来写.怎样才能控制ModalDialog的内容呢,郁闷了好久.毕竟我想在输入一些内容以后点关闭ModalDialog,然后刷新父页面或者执行别的操作.原来通过一个变通的方法可以达到,就是使用 <iframe>
父页面来打开一个ModalDialog页面:
None.gif <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
None.gif
< html  xmlns ="http://www.w3.org/1999/xhtml"   >
None.gif
< head >
None.gif    
< title > Untitled Page </ title >
ExpandedBlockStart.gifContractedBlock.gif
< script  language ="javascript" > dot.gif
InBlock.gif    
function myOpen()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
var returnstr;
InBlock.gif        returnstr 
= window.showModalDialog('NoName2.html','',"dialogHeight: 500px; dialogWidth: 750px;center: yes; help: no;resizable: no; status: no;");
InBlock.gif        
//window.open('NoName2.html','',"dialogHeight: 500px; dialogWidth: 750px;center: yes; help: no;resizable: no; status: no;");        
InBlock.gif
        if(returnstr == 1)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            document.getElementById(
"div1").innerText = "获得参数";
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

None.gif
</ script >
None.gif
None.gif
</ head >
None.gif
None.gif
< body >
None.gif
< href ="javascript:myOpen()" > 11111111111 </ a >
None.gif
< div  id ="div1" > div1 </ div >
None.gif
</ body >
None.gif
</ html >
None.gif

NoName2.html用一个<iframe>嵌套另外一个页面,来实现调用脚本及其他等操作.
None.gif <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
None.gif
< html  xmlns ="http://www.w3.org/1999/xhtml"   >
None.gif
< head >
None.gif    
< title > Modaldialog Page </ title >
None.gif
None.gif
</ head >
None.gif
None.gif
< body >
None.gif    
< iframe  src ="noname3.html"   width ="100%"  height ="100%" ></ iframe >
None.gif
</ body >
None.gif
</ html >
None.gif

NoName3.html用来被NoName2.html调用
None.gif <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
None.gif
< html  xmlns ="http://www.w3.org/1999/xhtml"   >
None.gif
< head >
None.gif    
< title > src Page </ title >
ExpandedBlockStart.gifContractedBlock.gif    
< script  language ="javascript"  type ="text/jscript" > dot.gif
InBlock.gif        
function winclose()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            window.parent.returnValue 
= 1;
InBlock.gif            window.parent.close();
ExpandedSubBlockEnd.gif        }

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

 

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

转载于:https://www.cnblogs.com/zhuhee/archive/2006/09/05/495770.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值