首页 新闻 搜索 专区 学院

frameset 菜单刷新问题

0
悬赏园豆:100 [已解决问题] 解决于 2012-02-14 16:04

我使用的是标准的top,left,main框架页

现在需要把left中<a>菜单改成无刷新(点击菜单后右边main改变但页面没有刷新过程)我首先考虑ajax 在菜单上请求b页面填充在a页面内

            $.get(url, function (data) {
$(window.top.frames["main"].document.getElementById('Display')).html(data);
});

这样使用b页面中静态js方法失效,比如b页面有个button onclick事件,现在就找不到此方法

有没有什么解决办法?希望知道的朋友不要吝啬。

问题补充:

我写了个Demo 在这里

下载

shrimp liao的主页 shrimp liao | 初学一级 | 园豆:135
提问于:2012-02-13 10:49
< >
分享
最佳答案
1

把js提取出来,用个单独的js文件封装,就可以找到了。

收获园豆:100
az235 | 大侠五级 |园豆:8283 | 2012-02-13 12:33

这样子的确可以,但是我的js方法需要很多参数,都是从页面后台 '<%= val%>' 

获取来的,单独提出js没办法吧,而且js封装后,我还是必须在a页面引用这也不是我想要的结果

有没有更好的方案,或者说让我换刷新方法也行,但必须是无刷效果

shrimp liao | 园豆:135 (初学一级) | 2012-02-13 12:36

@shrimp liao: 可以的,你js需要参数时,可以到页面上去取啊,将js所需的参数数据,从后台带到页面上来就可以取到了

az235 | 园豆:8283 (大侠五级) | 2012-02-14 09:09

@az235: 没明白您的意思,能详细点吗?

shrimp liao | 园豆:135 (初学一级) | 2012-02-14 09:12

@shrimp liao: 就是将你参数的数据在页面加载时,将数据放到页面上的某个元素里面,如hidden标签中,然后用js去取这个标签中的数据,参数问题就解决了。

az235 | 园豆:8283 (大侠五级) | 2012-02-14 09:26

@az235: 

thanks 

shrimp liao | 园豆:135 (初学一级) | 2012-02-14 16:03
其他回答(1)
0

这种为什么要用ajax呢?右边main用个frame,左边用js脚本改变frame的src不就可以了?

LCM | 园豆:6876 (大侠五级) | 2012-02-13 11:34

有个需求你可能没有看到,改变src固然可以,但是页面刷新了

我要求无刷,也就是不进度条加载

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2012-02-13 11:44

@shrimp liao: 你看一下data的数据对不对,把它放到页面中是不是能够显示成页面。你看我这样测的,可以用html()方法显示包含onclick的事件,能成功执行的。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function aaa()
{
var data="<input type='button' value='clickme' onclick='alertMsg();'><//input>";

$("#div1").html(data);
}
function alertMsg()
{
window.alert('test');
}
</script>
</head>
<body>
<div id="div1"></div>
<input type='button' value='aaa' onclick='aaa();'></input>
</body>
</html>
支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-02-13 12:35

@LCM: 

sorry 经测试

aaa is not defined

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2012-02-13 12:42

@shrimp liao: 上面我在IE,火狐,chrome下都测了,不会报aaa没定义的。你可能哪里复制错了。不过我这种方法也是把js脚本提取在外,没通过html()绑定的。

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-02-13 13:42

@LCM: 

我写了个Demo 您可以下载看下 在我的补充问题里面。

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2012-02-13 13:57

@LCM: 

朋友帮帮忙,我这个问题已经耽搁2天时间了。

如果这种方法不行,可否考虑其他刷新方法,但是一定要是无刷效果的

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2012-02-13 16:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册