prototype Ajax.Updater动态请求的页面的函数用不了

sweetBug 2010-06-13 03:39:26
我有两个页面,a.html和b.html:
a.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<script type="text/javascript" src="../js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="../js/prototype.js"></script>

<script type="text/javascript">
jQuery(function() {
new Ajax.Updater("mydiv", "b.html", {
method : "get",
evalScripts : true
});
});
</script>
</head>
<body>
<div id="mydiv"></div>
</body>
</html>


b.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<script type="text/javascript">
function sayHello() {
alert("helloWorld!");
}
</script>
</head>
<body>
<input type="button" value="click me" onclick="sayHello();" />
</body>
</html>


单独访问b.html时,点击button,能够调用sayHello()函数。然而,访问a.html时,再点击button,JS错误,sayHello未定义。各位大侠,这个应该怎样解决啊?
...全文
52 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweetBug 2010-06-24
  • 打赏
  • 举报
回复
谢谢大家,我搞清楚原因了,b.html的函数应该这样定义:
sayHello = function() {
...
}
Java技术栈 2010-06-14
  • 打赏
  • 举报
回复
同乐同乐 看了你的代码 觉得不太可能是这样的情况啊 挺怪了
passself 2010-06-14
  • 打赏
  • 举报
回复
楼主先弄清,页面之间的调用,和单个页面是不同的
xk1126 2010-06-14
  • 打赏
  • 举报
回复
b.html中的sayHello()自定义函数有没有传给a.html
页面中啊!
xxmiaoyong126com 2010-06-14
  • 打赏
  • 举报
回复
sayHello未定义
说明页面找不到这个JS函数,
你确认1下,
<script type="text/javascript">
jQuery(function() {
new Ajax.Updater("mydiv", "b.html", {
method : "get",
evalScripts : true
});
});
</script>
这个语句是否执行了,

然后你再alert(mydiv.innerHTML)
看下,是什么问题
sweetBug 2010-06-13
  • 打赏
  • 举报
回复
都放假了么?祝大家端午快乐,乐享世界杯。还有像我一样在上班的没,帮我看一看啊!

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧