Ajax仅在IE中破坏框架集

时间:2009-09-23 12:26:47

标签: javascript ajax prototypejs frameset lotus-domino

我遇到了框架集崩溃的问题,我在论坛上得到了一些帮助。现在我终于找到了事情向南的情况,所以这是我目前的问题。

1我有一个带有Top,Menu和Main的框架集 2. Main中菜单打开视图中的链接 这打破了在Main中保存文档的麻烦。保存菜单中的所有链接后将在新窗口中打开。

但是 - 经过两天检查基准目标后,我发现这是非常奇怪的事情。

如果我更改了触发Ajax调用的值,我只会崩溃。 如果我在评论字段中添加评论或者如果我更改数字值,那么一切都很好。我可以保存,框架集完好无损。 如果我在保存之前更改了触发Ajax调用的下拉列表,那么我的frameset就会崩溃。

这只是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设置或其他东西正在这样做吗?

1 个答案:

答案 0 :(得分:0)

在右边框架的JS代码中,有一个函数是:

name = "(something)";

当然没有指定 var 。 IE疯了,因为看起来这个简单的线条改变了框架名称....然后当点击另一个框架时它无法找到它因此在新窗口中打开内容。

问题已解决。

PS。请注意您使用的变量名称:)