在父页面调用iframe子页面的JS方法

时间:2022-04-28 21:11:33

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>parent</title>
<script>
function parentFunction() {
alert('function in parent');
}
function callChild() {
child.window.childFunction();
/*
child 为iframe的name属性值,
不能为id,因为在FireFox下id不能获取iframe对象
*/
}
</script>
</head>
<body>
<input type="button" name="call child" value="call child" onclick="callChild()"/>
<br/><br/>
<iframe name="child" src="./child.html" ></iframe>
</body>
</html>
子页面:child.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>child</title>
<script>
function childFunction() {
alert('function in child');
}
function callParent() {
parent.parentFunction();
}
</script>
</head>
<body>
<input type="button" name="call parent" value="call parent" onclick="callParent()"/>
</body>
</html>

父调子方法,或者(center是iframe的id):

document.getElementById("center").contentWindow.findMyData(new_orgId,response.result.priDict.code);

父页面设置子页面input元素的值
$('#center').contents().find("#b").val("父页面传过来的值!");


父页面<div id="pa"></div>

子页面<div id="cd"></div>

子页面调用#dy:

$('#pa',parent.document)

父页面调用#cd:

$("#cd", document.iframes('iframe').document)