知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > 通过js清除钻取后url

通过js清除钻取后url

问题背景:
1、 从一张报表钻取到带有参数模板的报表

2、 url中传递的参数作为目标报表的默认查询条件
当清除表单内容进行查询的时候,发现默认的查询条件仍然存在。这是因为保存在url中的参数一直存在,这样每次点击查询重新加载报表的时候参数模板都会获取到url中传递的参数。这是用户不愿意看到的结果。

本文通过一种重写url的办法解决这个问题。
解决步骤:
1、 连接demo数据源,制做三张报表,一张钻取用(testlink.raq),一张参数模板(testparam_arg.raq),一张主表(testparam.raq)。

2、 发布报表testlink.raq的jsp–testlink.jsp的主要代码

<report:html name=”report1″ reportFileName=”testlink.raq”
funcBarLocation=”top”
exceptionPage=”/reportJsp/myError2.jsp”
/>

发布参数模板和主表的jsp–testparam.jsp的主要代码

<report:param name=”form1″ paramFileName=”testparam_arg.raq”
needSubmit=”yes”
/>
<report:html name=”report1″ reportFileName=”testparam.raq”
funcBarLocation=”top”
params=”<%=param.toString()%>”
exceptionPage=”/reportJsp/myError2.jsp”
/>
<script language=”JavaScript” type=”text/javascript”>
function updateUrl(){
var oldurl = document.form1.resultPage.value
var newurl = ‘/jsp/testparam.jsp’;
document.form1.resultPage.value = newurl;
}
</script>
<script language=”JavaScript” for=”window” event=”onload” >
updateUrl()
</script>

3、首先访问testlink.jsp,当点击进入下一页面的时候,发现初次加载的时候参数传递过来了,当清除查询条件后查询,所有的记录都可以查出来,说明清除参数成功。
总结:
此种方法的关键在于上面代码中的updateUrl() JS函数,通过对document.form1.resultPage.value重新赋值,便达到了清除url参数的效果。

本文标签:
发布日期:2010/06/12
本文分类: 设计基础