2012-04-16 87 views
1

我正在使用JQuery UI對話框。在這種形式中,我驗證了一些東西。我稱這個函數爲IE7,JQuery UI對話框

MessageBox('this is message', 'Error', OpenDialog()); 

在瀏覽器,Firefox,IE8,IE9;它工作正常,但在IE7中,只有對話框的標題顯示爲這樣。當我點擊'Okey'按鈕時,它只顯示標題 enter image description here 如何解決這個問題?

MessageBox函數

function MessageBox(text, title,Func) { 

var dv = document.createElement('div'); 

$(function() { 

    dv.id = 'Dialog'; 
    dv.innerHTML = '<table style="font-family:Calibri;"><tr><td>' + text + '</td></tr></table>';  
    document.forms[0].appendChild(dv); 
    var dlg = $('#Dialog').dialog({ 
     autoOpen: false, 
     width: 400, 
     title: title, 
     modal: true, 
     resizable: false, 

     buttons: [ 
     { 
      text: "Okey", 
      width: 80, 
      click: function() { 
       DialogClose_('Dialog'); 

      } 
     }], 
     open: function() { 
      $('.ui-dialog-buttonpane').find('button:contains("Okey")').addClass('ButtonDefault'); 
     }, 

     close: Func, 
     beforeClose: function() { 
      var dv2 = document.getElementById("Dialog"); 
      dv2.parentNode.removeChild(dv2); 
     } 
    }); 
    dlg.parent().appendTo(jQuery('form:first')); 
    $('#Dialog').dialog("option", "minWidth", 400); 
    $('#Dialog').dialog('option', 'position', 'center'); 
    $('#Dialog').dialog('open'); 
}); 
return; 

}

OpenDialog功能這樣;

function OpenDialog() { 
     $(document).ready(function() { 
      $("#dialog").dialog("open"); 
     }); 
    } 
+0

我認爲類似的問題是問,看看 http://stackoverflow.com/questions/396171/jquery-ui-dialog-doesnt-show-in-ie7 – Mennan 2012-04-16 12:01:51

+0

我覺得你有一些兼容性問題與瀏覽器..檢查它.. – 2012-04-16 12:04:17

回答

1

環顧四周,IE7中對話框的高度似乎存在很多問題。

你可以嘗試指定的高度,但會帶走不錯自動高度功能你。

或者你可以只設置瀏覽器的高度剛過你設置「DLG」變量是IE7:

if ($.browser.msie && parseInt($.browser.version, 10) == 7) { 
    $('#Dialog').dialog("option", "height", 100); 
} 

你可以用你認爲什麼取代「100」。如果您在對話框中有一個容器元素,你可以隨時用它來設定的高度,例如:

$("#container").height(); 

還有上StackOverflow更多建議。

希望有所幫助。