2009-09-23 146 views
0

我遇到了框架集崩潰的問題,我在論壇上獲得了一些幫助。現在,當事情向南發展時,我終於找到了,所以這是我目前的問題。Ajax僅在IE中打開框架集

1我有一個頂部,菜單和主框架集 2.主菜單中的鏈接打開視圖 3.這在保存Main中的文檔時出現了問題。在菜單中保存所有鏈接後,將在新窗口中打開。

但是 - 這是真的很奇怪的事情,我已經發現了兩天後檢查基地目標等。

如果我更改一個觸發Ajax調用的值,我只能分解它。 如果我在評論字段中添加評論,或者如果我更改了數字值,則一切都很好。我可以保存和框架是完整無缺的。 如果我在更改保存之前觸發Ajax調用的下拉列表,那麼我的框架集就會崩潰。

這是IE(7和8)而Firefox並沒有這個問題。

這是我的Ajax代碼爲例(我有4個不同的呼叫)

function fillUtmelding(refnr){ 
       var f = document.forms[0]; 

    var url = getDbUrl() + '/(FinnBeholdningValg)?OpenAgent&refnr=' + refnr + "&dbid=C1256B7D0033B1DF" + "&" + Math.round(Math.random() * 500); 

     var fondOppslag = new Ajax.Request(url, { 
     method: 'get', 
     onComplete: function(req){ 
      var liste = req.responseText; 

      var startListe = liste.split(';'); 

       arrListe = startListe[0].split('$'); 
                   f.f.value = arrListe[0]; 
                   f.fisin.value = arrListe[1]; 
                   f.andeler.value = arrListe[2]; 

      for (j = 1; j < 14; j++) { 
       name = "f_" + j; 
       fisin = "fisin_"+ j; 
                   andeler = "andeler_" +j;            

        var nyListe = startListe[j].split('$') 

        if (nyListe[1] != 'Plassering'){ 
                       f[name].value = nyListe[0]; 
                       f[fisin].value = nyListe[1]; 
                       f[andeler].value = nyListe[2]; 
                       } 

      } 
     } 
    }); 
} 

編輯:我沒有問題與Ajax調用,據我可以看到。我回收價值並按照預期使用它們。難道有一些keepAlive設置或者是這樣做的嗎?

+0

1)「分解」是什麼意思? 2)代碼片段中的/ name是什麼/什麼是?它沒有在那裏的任何地方定義。 3)你依靠分號插入,這是一個非常糟糕的主意。用分號明確結束語句。 – 2009-09-23 12:36:29

+0

1)分解意味着在新窗口中打開,而不是在名爲「Main」的框架內部 2)那麼,整個頁面將會更長,這只是AJAX調用的示例 3)我不認爲這是問題,到處都是這樣的,它的工作原理(ajax調用100%完成) – 2009-09-23 12:49:03

回答

0

某處在JS代碼從右側框架有其內部的功能是:

name = "(something)"; 

當然沒有指定變種。 IE發瘋了,因爲它看起來像這個簡單的行改變了框架名稱....然後當點擊其他框架時,它找不到它,因此在新窗口中打開內容。

問題修復。

PS。請注意你使用的變量名稱:)