2009-12-02 87 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'))); 

這將使您能夠更輕鬆地相同的功能連接到一個點擊或頁面加載,但也是更好的做法反正能防止重複代碼等。顯然,這是缺少大塊,但希望你明白我的意思

相關問題