2013-05-28 89 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

相关问题