2013-05-28 113 views
0

我有一個Oracle APEX經典報告,我想在彈出的模式窗口(給定記錄的詳細信息)中顯示Oracle APEX頁面。在jQuery模態窗口中顯示html頁面(URL)的內容?

我想不惜一切代價避免插件。這可能嗎?我正在使用APEX 4.1。

塔馬斯

+0

任何你不想插件的原因?在我看來,最好的解決方案是Skillbuilders模態頁面插件,我認爲你已經看到了這一點? – Tom

+0

是的。原因是我不能使用它們的任何類型,只有插件提供的五個類型。 – user1054310

+0

是的,它具有預定義的主題,但您也可以使用自定義主題。該插件只是使用Colorbox爲模態區域提供樣式。如果這五個都不符合你的口味,那麼沒有什麼能阻止你自己造型呢?只是說,如果風格是阻止你使用它,它不應該。 – Tom

回答

2

創建在報表上的鏈接一欄:

  • 鏈接文本:無論你想要
  • 目標: URL
  • 網址:的javascript:openModal (#YOUR_ID#)

以下JavaScript代碼添加到您的頂點頁(函數和全局變量聲明)改變爲右APP_ID的URL,在彈出的頁面中PAGE_ID和ITEM_NAME要打開:

function openModal(vId){ 
    var url = 'f?p=<APP_ID>:<APP_PAGE>:&SESSION.::NO:RP,62:P<APP_PAGE>_ID:'+vID; 
    var $dialog = $('<div id="ModalFacPenDiv" style="overflow:auto;overflow-y: hidden;"> <iframe id="modalID" src="'+url+'" width="900px" height="260px" frameborder="no" style="overflow:auto;"></iframe></div>'); 
    $($dialog).dialog({ 
     open: function(event, ui){ 
      $(".ui-dialog-titlebar-close").hide(); }, 
     modal: true , 
     dialogClass: 'noTitle', 
     title: 'YOUR TITLE' , 
     width : 920 , 
     height: 380, 
     buttons: { 
      "Close": function(){ 
       window.parent.doSubmit('REFRESH'); 
       $(this).dialog("close");} }, 
     closeOnEscape: false }); 
} 

你」會需要設置嵌入在框架允許來自同一產地允許(這是一個更好/更安全)上安全屬性>瀏覽器安全

我假設在彈出頁面中您有必要的過程來顯示基於某個ID的信息。

希望它有幫助。

+0

我開始使用上面的腳本。對話顯示完好,但它是空的。我的意思是它有一個正確的標題和一個關閉按鈕,但中間是empti。我已經嘗試傳遞一個固定的APEX頁面URL作爲要顯示的URL,但仍然是空的。 任何提示? – user1054310

+0

彈出窗口將顯示您在鏈接中指定的頂點頁面: var url ='f?p = :&SESSION。:: NO:RP,62:P _ID:'+ vID; 你在你指定的頁面上放了什麼東西嗎? – hmarques

+0

嗯,是的。實際上該頁面是會話狀態保護的。問題是,我不知道如何在地球上生成URL的crc檢查代碼,而不使用應用程序進程。 – user1054310

相關問題