工作問題筆記一

來源:互聯網
上載者:User

今天接到任務,需求很簡單將現有網站的菜單做成無重新整理的,因為之前是使用frameset網頁架構是標準的top,left,main。

left頁面中菜單是用<a>標籤做的,這樣點擊菜單是會看到明顯的頁面重新整理,現在需要不出現進度載入,我第一個想到的是使用ajax

於是代碼 改成了

        function Display(url) {            $.get(url, function (data) {                $(window.top.frames["main"].document.getElementById('Display')).html(data);            });         }
本想這這樣就結束了,但問題隨之而來,這樣請求載入後a頁面可以載入b頁面資料,但是會將整個b頁面載入過來(js不載入,但是執行了)不影響效果忽略。
運行頁面問題又來了,頁面做到無刷,但是在b頁面寫的js方法都沒用了(並不是不執行而參數問題),因為之前使用js GetUrlParam('')方法擷取url傳值過來參數
具體方法如下
function GetUrlParam(paramName) {    var url = document.URL; //URL參數,你也可以用document.URL來擷取,方法太多了    var oRegex = new RegExp('[\?&]' + paramName + '=([^&]+)', 'i');    //var oMatch = oRegex.exec( window.top.location.search ) ; //擷取當前視窗的URL    var oMatch = oRegex.exec(url);    if (oMatch && oMatch.length > 1)        return oMatch[1];  //傳回值    else        return '';}
現在這個方法擷取不到url參數了,因為我都是ajax請求的。考慮使用後台存參數值,經測試方法複雜了,每次都需要去記錄。嘗試失敗!
下一個問題,在b頁面中如果使用$("#id").val()類似的方法,現在這些值都是undefined。原因大致明白了,但是說不清楚。
嘗試方法將b頁面方法寫到a中(其實這樣肯定是可以的)成功!不錯這個方法操作性不強,因為b頁面只是請求中的一個而已,總部能把所有菜單上的頁面對應的js方法都寫到a中吧。
繼續嘗試ing...
經過一番嘗試,和資料查詢,對於id問題我得到瞭解決,具體辦法是加入frameset對應 例:
$(window.top.frames["main"].document.getElementById('id')).text();
這樣擷取值就可以了。
不過另一個問題,擷取ajax傳遞url參數,繼續探索ing...
上個問題還沒解決又出新問題了T.T
我在b的button onclick中有個del()方法,del方法寫在本頁面中
通過ajax請求後,del()未定義了。繼續探索中...
Demo下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.