2012-06-26 3 views
0

Я получил этот код:.load не работает с IE и Opera

function openFile(_title, file, id, _height, _width) 
{ 
    $.fx.speeds._default = 500; 
    $(document).ready(function() 
    { 
     if (_height == '') 
      _height = 250; 

     if (_width == '') 
      _width = 500; 

     var dialogOpts = { 
      title: _title, 
      modal: true, 
      height: _height, 
      width: _width, 
      draggable: false, 
      resizable: false, 
      show: "puff", 
      hide: "puff" 
     }; 

     $("#dialog").dialog(dialogOpts); 

     $("#dialog").load(file, [], function(){ $("#dialog").dialog("open"); }); 
    }); 
} 

он отлично работает в Firefox и Chrome, но ни в Опере, ни IE. Появится диалоговое окно, но без содержимого. Он просто показывает название.

Я попытался изменить последнюю строку

$.get(file, function(result) { 
    $('#dialog').append(result); 
}); 

и

$("#dialog").load(file); 

, но это не сработало.

ответ

0

Попробуйте изменить $("#dialog").load(file, [], function(){ $("#dialog").dialog("open"); }); к:

$("#dialog").load(file, [], function(response, status, xhr){ 
    if(status!="error") 
     $("#dialog").dialog(); 
}); 

The default behavior диалогового окна, чтобы открыть.

+0

не работает ... –

+0

@mindaugas Это не поп-вверх или это все еще пусто? Если он не будет всплывать, ваш вызов ajax может оказаться неудачным. Вот что значит 'status! =" Error "'. Раньше, когда он был пуст, вероятно, из-за ошибки '.load', но вы все еще открывали диалог. Попробуйте ввести предупреждение, чтобы узнать, что такое 'status'. – nbrooks

+0

диалоговое окно всплывает, но оно по-прежнему пуст. –

0

У меня была эта проблема с .load(), поэтому теперь я использую .get().

Быстрый пример:

$.get(url,function(data){ $("#dialog").html(data); }); 
+0

Как я уже сказал, это тоже не работает. –

+0

Как выглядят ваши ' вы можете увидеть весь источник в mctop.lt –

Смежные вопросы