Oracle apex 关闭模式对话框页面时重定向到其他页面时出现问题

Oracle apex 关闭模式对话框页面时重定向到其他页面时出现问题,oracle-apex,oracle-apex-5.1,Oracle Apex,Oracle Apex 5.1,我在第1页中打开了一个模式对话框第2页。现在,当我关闭模式对话框时,我想被重定向到第3页。在第2页上,我有一个按钮,它定义了一个动态动作,在按钮上单击两个动作:页面提交(在提交后分支到第3页)和关闭对话框。单击按钮后,对话框关闭,但用户停留在第1页,而不是第3页 如果您有分支,则不需要关闭对话框 另一种选择是使用PL/SQL-JS组合遍历页面,该组合在服务器上运行代码后重定向到URL 创建一个名为P2_TARGET的未受保护的隐藏项 创建一个按钮,其动作由动态动作定义 为该按钮添加一个动态操作o

我在第1页中打开了一个模式对话框第2页。现在,当我关闭模式对话框时,我想被重定向到第3页。在第2页上,我有一个按钮,它定义了一个动态动作,在按钮上单击两个动作:页面提交(在提交后分支到第3页)和关闭对话框。单击按钮后,对话框关闭,但用户停留在第1页,而不是第3页

如果您有分支,则不需要关闭对话框

另一种选择是使用PL/SQL-JS组合遍历页面,该组合在服务器上运行代码后重定向到URL

  • 创建一个名为P2_TARGET的未受保护的隐藏项
  • 创建一个按钮,其动作由动态动作定义
  • 为该按钮添加一个动态操作onClick,其中包含两个真正的操作:

    a。执行PL/SQL代码,提交P2_项,返回P2_目标

    declare
        js_code varchar(4000);
    begin
        js_code := REGEXP_REPLACE(
                     APEX_PAGE.GET_URL (
                         p_page => 3,
                         p_clear_cache => 3,
                         p_items  => 'P3_Item',
                         p_values => :P2_Item
                     )
            ,'\,this\)'
            ,q'<,$('#p1Region'))>' -- jQuery of event source
        );
    
        apex_util.set_session_state('P2_TARGET', js_code); 
    end;
    

  • 这就应该做到这一点了

    您是否有任何代码可以捕获模式之外的单击操作?不确定您的意思是什么。我在modalyes上的按钮上添加了一个动态动作,因此当有人单击modalyes上的close按钮时,他们会被重定向,但是当他们在Modale之外单击时,他们不会被重定向,modalyes会关闭,对吗?因此,您甚至需要在模式外部捕获该单击,如果同时打开了该模式,则将用户重定向到下一页,但此时,当用户确实单击按钮时,它甚至不起作用。为模式配置容器并将操作附加到该容器。代码示例将非常有用。谢谢除了从页面加载动态操作和PL/SQL中执行PL/SQL之外,这与我所拥有的差不多,设置P2_目标的值有点不同。什么是
    #p1区域
    ?这是模态对话框页面上区域的静态ID吗?确切地说,这是模态对话框页面上区域的静态ID,在此处写入此ID有助于利用“关闭对话框”动态操作我这样做了,当我单击按钮时,什么也没有发生。所以我开始调试,只要打开调试器,它就会工作。但是如果没有debugI在apex 18.2上的工作,apex_页面.get_url在旧版本上的工作方式可能会有所不同。除此之外,我建议检查P2_目标项并查看其外观(当然,请确保在plsql之后返回P2_目标,并且该项具有已保存的会话状态)
    eval($v('P2_TARGET'));