iframeset下包含a.html和b.html两个页面,点击a.html页面里面的按钮调用js函数,b.html出现动作

------------------------------------------------------ab.js代码:-----------------------... ------------------------------------------------------
ab.js代码:
------------------------------------------------------
function testAdd(){
document.getElementById("gou").innerHTML = "测试调用结果";
}

------------------------------------------------------
ab.html代码:
------------------------------------------------------
<script type="text/javascript" src="ab.js"></script>
<frameset cols="180,*">
<frame src="a.html" name="a">
<frame src="b.html" name="b">
</frameset>

------------------------------------------------------
a.html代码:
------------------------------------------------------

<html>
<table>
<tr><td>
<a href="javascript:void(0);" onclick="testAdd()"> 测试js调用</a>
</td></tr>
</table>
</html>
------------------------------------------------------
b.html代码:
------------------------------------------------------
</html>
<tr><td id="gou">gou </td> </tr>
</html>
********************************************************************************
上面的,点击“测试函数js调用”链接,在b.html页面中没有结果
如果把上面的代码写在一个文件中,就可以
为什么???????
展开
 我来答
HYW332147617
2013-03-29 · TA获得超过227个赞
知道答主
回答量:109
采纳率:0%
帮助的人:59.2万
展开全部
抱歉没仔细看:
你是在a页面中改变b页面的内容,并且js文件在ab页面里,首先onclick="testAdd()">改为onclick="window.parent.testAdd()">,
然后js改为
function testAdd(){
var obj = document.getElementByName("b");//获取a页面所在的frame,得到的是数组类型。
obj[0].document.getElementById("gou").innerHTML = "测试调用结果";
}
追问
没有反应,能调用testAdd函数,但是
这句后就不在执行了,var obj = document.getElementByName("b");
也就是在后面加了个alert,没有出来弹出框
追答
抱歉,把js的方法写错了,应该是getElementsByName(),少了element少了个s
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式