js如何获取父窗口下的所有子窗口

js如何获取父窗口下的所有子窗口,第1张

private SystemWindowsFormsMdiClient m_MdiClient;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TODO: 在 InitializeComponent 调用后添加任何构造函数代码//int iCnt=thisControlsCount;for(int i=0;i<iCnt;i++){if(thisControls[i]GetType()ToString()==SystemWindowsFormsMdiClient){thism_MdiClient=(SystemWindowsFormsMdiClient)thisControls[i];break;}}thism_MdiClientBackColor=SystemDrawingColorBlue;}具体的应用中,可以参考上面的代码把背景修改为其他的颜色、用平铺、拉伸等,就象通过代码修改非MDI窗口的背景一样。另外,具体应用时,可能要考虑把这些东西放置到Paint或erasebkground等事件。c# 20 给MDI主窗口添加背景最简单的办法,4句代码搞定一、将MDI主窗口的IsMdiContainer设为 False,将背景放到资源文件中,资源名为BackgroundImage二、在MDI主窗口的构造函数中InitializeComponent();之后加下面4行代码MdiClient m = new MdiClient();thisControlsAdd( m );mDock = DockStyleFill;mBackgroundImage = PropertiesResourcesBackgroundImage ;using System;using SystemComponentModel;using SystemCollections;using SystemDrawing;using SystemDrawingImaging;using SystemDrawingDrawing2D;namespace myBackgroundImage{/// <summary/// fat background MDI form (fbgMDIform),可定制Mdi主窗体背景。/// </summary

在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js:

1在iframe子页面中获取父页面的元素

a>windowparentdocument这个是获取父页面document中的对象;

b>如果要获取父页面js中的方法:windowparentxxxx();xxxx()为方法;

2在父页面中获取iframe子页面中的元素:

a>

var child =

documentgetElementByIdx_x("mainFrame")contentWindow;//mainFrame这个id是父页面iframe的id

childdocument;//获取子页面中的document对象;

直接改成parentdocumentgetElementById("NO")value = documentgetElementById("no")value;

其中:parentdocumentgetElementById("NO")value就是得到父窗口id为NO的表单值!

objclientWidth //获取元素的宽度

objclientHeight //元素的高度

objoffsetLeft //元素相对于父元素的left

objoffsetTop //元素相对于父元素的top

objoffsetWidth //元素的宽度

objoffsetHeight //元素的高度

区别:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = width + padding + border

offset比client多了border的宽度

//获取元素的纵坐标(相对于窗口)

function getTop(e){

var offset=eoffsetTop;

if(eoffsetParent!=null) offset+=getTop(eoffsetParent);

return offset;

}

//获取元素的横坐标(相对于窗口)

function getLeft(e){

var offset=eoffsetLeft;

if(eoffsetParent!=null) offset+=getLeft(eoffsetParent);

return offset;

}

//获取元素的纵坐标(相对于窗口)

function getTop(e){

var offset=eoffsetTop;

if(eoffsetParent!=null) offset+=getTop(eoffsetParent);

return offset;

}

//获取元素的横坐标(相对于窗口)

function getLeft(e){

var offset=eoffsetLeft;

if(eoffsetParent!=null) offset+=getLeft(eoffsetParent);

return offset;

}

 JS子窗口调用父窗口的方法:

 框架(iframe)形式,这时用到是windowparent, windowparent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:

1、1html代表的是父窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "

<html xmlns="

<head>

<meta 

2、2html代表的子窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "

<html xmlns="

<head>

<meta ;

这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。

在父窗口中获取iframe中的元素

1、

格式:windowframes["iframe的name值"]documentgetElementByIdx_x("iframe中控件的ID")click();

实例:windowframes["ifm"]documentgetElementByIdx_x("btnOk")click();

2、

格式:

var obj=documentgetElementByIdx_x("iframe的name")contentWindow;

var ifmObj=objdocumentgetElementByIdx_x("iframe中控件的ID");

ifmObjclick();

实例:

var obj=documentgetElementByIdx_x("ifm")contentWindow;

var ifmObj=objdocumentgetElementByIdx_x("btnOk");

ifmObjclick();

在iframe中获取父窗口的元素

格式:windowparentdocumentgetElementByIdx_x("父窗口的元素ID")click();

实例:windowparentdocumentgetElementByIdx_x("btnOk")click();

jquery

在父窗口中获取iframe中的元素

1、

格式:$("#iframe的ID")contents()find("#iframe中的控件ID")click();//jquery 方法1

实例:$("#ifm")contents()find("#btnOk")click();//jquery 方法1

2、

格式:$("#iframe中的控件ID",documentframes("frame的name")document)click();//jquery 方法2

实例:$("#btnOk",documentframes("ifm")document)click();//jquery 方法2

在iframe中获取父窗口的元素

格式:$('#父窗口中的元素ID', parentdocument)click();

实例:$('#btnOk', parentdocument)click();

父窗获取子窗口的IFrame中的JS方法

一、父窗口调用iframe子窗口方法

1、HTML语法:<iframe name="myFrame" src="childhtml"></iframe>

2、父窗口调用子窗口:myFramewindowfunctionName();

3、子窗品调用父窗口:parentfunctionName();

简单地说,也就是在子窗口中调用的变量或函数前加个parent就行

4、父窗口页面源码:

复制代码代码如下:

<html>

<head>

<script type="text/javascript">

function say() {

alert("parenthtml------>I'm at parenthtml");

}

function callChild()

{

//documentframes("myFrame")f1();

myFramewindowsay();

}

</script>

</head>

<body>

<input type=button value="调用childhtml中的函数say()" onclick="callChild()">

<iframe name="myFrame" src="childhtml"></iframe>

</body>

</html>

5、子窗口页面:

复制代码代码如下:

<html>

<head>

<script type="text/javascript">

function say()

{

alert("childhtml--->I'm at childhtml");

}

function callParent() {

parentsay();

}

</script>

</head>

<body>

<input type=button value="调用parenthtml中的say()函数" onclick="callParent()">

</body>

</html>

二、iframe 父窗口和子窗口相互的调用方法

1、IE中使用方法:

父窗口调用子窗口:iframe_IDiframe_document_objectobject_attribute = attribute_value

例子:onClick="iframe_textmyH1innerText='>

以上就是关于js如何获取父窗口下的所有子窗口全部的内容,包括:js如何获取父窗口下的所有子窗口、JS如何获取对象的父对象(非文档对象)、js子窗口如何得到父窗口中某表单的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9505189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存