萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript實現iframe中操作父類的input

JavaScript實現iframe中操作父類的input

  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>      
copyright © 萬盛學電腦網 all rights reserved