如何创建动态操作,以便根据用户的选择页面进行重定向或不进行重定向

时间:2019-09-05 07:45:39

标签: javascript oracle-apex-5.1

  1. 我有一个链接,它将用户重定向到APEX中的另一个页面。 链接属性:

    class =“ new_test_run t-Button t-Button--简单t-Button--热t-Button--stretch” title =“创建测试运行” tc_id =“#ID#”

  2. 当用户单击提到的链接时,还会运行“ Click”事件。

  3. 点击事件具有动态作用。
  4. 事件为true时,将执行带有正确文本的“确认”操作。
  5. 最后有一个“执行JavaScript代码”操作,它设置了一个参数:
    apex.confirm({
    request:"CREATE_TEST_RUN",
        set:{"P300_TEST_CYCLE_ID": $(this.triggeringElement).attr('tc_id')}
    });

我来了一个新项目,我需要照顾一些APEX问题,因为没人知道。几年前我在学习它,所以我致力于它。

我正在尝试这样的声音:

if (confirm { apex_util.redirect_url(p_url=>'f?p=110:309:&SESSION.::NO:RP::'); apex.confirm({ request:"CREATE_TEST_RUN", set:{"P300_TEST_CYCLE_ID": $(this.triggeringElement).attr('tc_id')} }); }

实际结果是: 无论用户在对话框窗口中选择“确定”还是“取消”,页面都将被重定向。 预期结果是: 如果用户选择“取消”,则对话框窗口将关闭,并且不会发生任何事情。因此,我试图找出在单击“取消”按钮的情况下如何通过动态操作停止重定向。

1 个答案:

答案 0 :(得分:0)

我在oracle社区的一个人的帮助下解决了我的问题。如果将来有人遇到类似问题,我将与您分享解决方案。

在“函数和全局变量声明”部分中,创建类似以下的函数:

function askNGo(pRedirLink){  
    console.log("Redir link: " + pRedirLink);  

    apex.message.confirm( "Are you sure?", function( okPressed ) {//message according to your needs  
    if( okPressed ) {  
        apex.navigation.redirect ( pRedirLink );  
    }  
});  
}  

在我的报告源中,我计算了一个(隐藏的)列,其中的Escape特殊字符= No,其中包含指向目标页面的链接(请参见apex_page.get_url函数的文档)

select col1, col2..., apex_page.get_url(p_page =>300, p_items => 'P300_TEST_CYCLE_ID', p_values => tcycle.id) create_new_ur from my_table;

,目标应定义为:

下一步,我如下编辑链接:

类型:链接

链接类型:URL

URL:javascript:askNGo("#CREATE_NEW_URL#");

链接属性-> class="new_test_run t-Button t-Button--simple t-Button--hot t-Button--stretch" title="Create Test Run" tc_id="#ID#" create_new_url="#CREATE_NEW_URL#"

最后,我已经设置了“服务器端条件”类型=从不针对那里的动态操作进行设置。这样,我没有将其删除,只是设置为不使用。