2009-12-02 89 views
0

我有一个页面,有几个报告是通过ajax调用产生的。我是这个页面上的一些显示函数的prototype.js框架。如何在页面加载上执行ajax导航?

每个报告的链接都有锚/标签,例如#Report1,#Report2等,它们是带有onClick函数的hrefs,它们通过javascript来创建报表。

我想这样做,如果用户通过链接书签页面,或者直接使用我的页面的网址中的锚点/链接导航来加载报表。

因此,如果用户转到:http://mysite/myPage.jsp#Report2它应该加载页面并转到第二个报告。

无论如何在我的页面载入我可以看看锚/链接并执行该锚的onlcick?我想我可以创建一个大案例/如果声明来弄清楚该怎么做,但也许有一个更简单的方法。

+0

我的电话是这样的,在这个例子中,报告称为“平台”。在这种情况下,大多数工作都是在showFirstSubPlatform方法中完成的。我可以重构一些东西,或者将所有这些变成一个js函数,或者改变函数名称。 Platform Joelio 2009-12-02 15:10:46

回答

0

这一切都取决于你如何实现Ajax调用。我做了类似的工作,在标签导航中打开正确的标签。代码会像这样开始,如果你让我看看你的Ajax事件是如何连接起来的,那么我应该能够告诉你其余的。在你的代码

document.observe("dom:loaded", function() { 
    if(window.location.hash){ 
     var report = window.location.hash.replace("#",""); 
    } 
}); 

编辑

看你会好得多(IMV)切换到您将事件附加到元素例如一个不显眼的方法

$('ele').observe('click',doStuff.bindAsEventListener($('ele'))); 

这将使您能够更轻松地相同的功能连接到一个点击或页面加载,但也是更好的做法反正能防止重复代码等。显然,这是缺少大块,但希望你明白我的意思

相关问题