showModalDialog方法、open方法及parentt对象、opener对象

通常使用window.open的方式开启新窗口的话,要取得父窗口的控件,可以用window.opener来取得父窗口。然而如果使用showModalDialog的话...却无效。

如果有需要的话,需要修改开启的语法以及showModalDialog中的语法开启语法第2个参数请下self,范例如下var rc=window.showModalDialog(strURL,self,sFeatures);,然后接着就是呼叫父窗口的语法 var pWindow=window.dialogArguments; 这样就可以取得父窗口的window对象控制了。

例如:window.dialogArguments.document.getElementsByName("processId")[0].value;

js中 opener和parent的区别opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的opener,在B页面通过opener对象可以访问A页面。parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的parent。在JS中,window.opener只是对弹出窗口的母窗口的一个引用。


farther.html  
  ---------------------------  
    
    
    
     New   Document     
    
    
    
    
    
    
   
    
    
    
    
  --------------  
  child.html  
  --------  
    
    
    
     New   Document     
    
    
    
    
   
    
   
    
   
    
    
    
    
   
  

用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
解决如下:






你可能感兴趣的:(技术)