iframe中操作父類的input
window.parent.document.getElementById('mark2').value=$('#rightPointer').val();
在父窗口中操作 選中IFRAME中的所有輸入框:
$(window.frames["iframeSon"].document).find(":text");
在IFRAME中操作 選中父窗口中的所有輸入框:
$(window.parent.document).find(":text");
在IFRAME中操作 選中父窗口中的所有單選鈕
$(window.parent.document).find("input[@type='radio']").attr("checked","true");
示例
父對象得到子窗口的值
代碼如下
//ObjectID是窗口標識,ContentID是元素ID
function GetValue(ObjectID,ContentID)
{
var IsIE = (navigator.appName == 'Microsoft Internet Explorer')
if(IsIE)
{//如果是IE
alert(document.frames(ObjectID).document.getElementById(ContentID).innerHTML);
}
else
{//如果是FF
alert(document.getElementById(ObjectID).contentDocument.getElementById(ContentID).innerHTML);
//FF下不支持innerText; 下面是解決方法
//if(document.all){
// alert(document.getElementById('div1').innerText);
//} else{
// alert(document.getElementById('div1').textContent);
//}
}
}
父對象向子窗口賦值
//ObjectID是窗口標識,ContentID是元素ID
function SetValue(ObjectID,ContentID)
{
var IsIE = (navigator.appName == 'Microsoft Internet Explorer')
if(IsIE)
{//如果是IE
document.frames(ObjectID).document.getElementById(ContentID).innerHTML="我是IE下通過父窗口賦值過來的";
}
else
{//如果是FF
document.getElementById(ObjectID).contentDocument.getElementById(ContentID).innerHTML="我是FF下通過父窗口賦值過來的";
}
}
1.父窗口對子窗口操作
取值:
//父窗口取子窗口的值
GetValue("Iframe1","IframeDiv");
賦值:
//父窗口設置窗口元素的值;
SetValue("Iframe1","IframeDiv");
2.子窗口操作父窗口
取值:
alert(window.parent.document.getElementById("IframeDiv").innerHTML);
賦值:
window.parent.document.getElementById("IframeDiv").innerHTML="我是從子窗口IFRAME傳過來的值";
工作有用到的例子
先由iframe中的子頁面b.html給外面的父頁面a.html頁面傳值,再將a.html頁面計算機的值放到b.html頁面上,這裡就用到子頁面和父頁面相互傳值,相互調用更自函數這些功能,這裡我用一個簡單的例子來介紹一下這些方法。
a.html
代碼如下
[html] view plaincopy
<script language="javascript" src="http://www.aspbc.com/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function f()
{
$('#a').contents().find("#bbb").val("ddd");
}
function fun()
{
alert('彈出子頁面調用的函數');
}
</script>
<div id="maindiv">test</div>
<iframe id="a" name="a" src="b.html" width="600" height="400"></iframe><br />
<input type="button" value="給子頁面表單賦值" onclick="f()" />
b.html
代碼如下
<script language="javascript" src="http://www.aspbc.com/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function f()
{
alert('開始調用父頁面函數');
$(window.parent.fun());
$(window.parent.$("#maindiv").html("子頁面賦過來的值"));
}
</script>
<form name="cform"><input type="text" name="b" id="bbb" /><input name="btn" type="button" onclick="f()" value="調用父函數並給父頁面元素賦值" /></form>