事实证明,当在同一个应用程序中使用重定向到另一个页面时,它使用页面构建时存在的值,并且不再查看这些值。因此,当页面加载后值发生更改时,不会使用新值。以下允许您在重定向时使用更改的值。
使用了 Apex 社区的建议。这对我有用。
这使用 apex_page.get_url 和您建议的技术。测试良好。
在流程图中选择节点时运行的Javascript:
$s('P72_NODE_ID', tagNum);
$s('P72_NODE_TYPE', selNode.getShape().getId());
$.event.trigger('submitNodeSel');
动态事件
什么时候
事件:自定义
自定义事件:submitNodeSel
selectionType: javascript表达式
javascript 表达式:文档
真正的行动
动作:设定值
设置类型:PL/SQL 函数体
DECLARE
STEP_DETAIL_URL varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
STEP_DETAIL_URL := apex_page.get_url(
p_page => '80'
, p_items => 'p80_step_id,p80_node_type'
, p_values => :p72_node_id || ',' || :p72_node_type
, p_plain_url => true);
RETURN STEP_DETAIL_URL;
END;
输入:p72_node_id,p72_node_type
受影响的元素
选择类型:项目
项目:P72_STEP_DETAIL_URL
按钮
动态动作
执行javascript代码
真正的行动
Javascript
makeDialogUrl( $v("P72_STEP_DETAIL_URL"));
Javascript 代码
function makeDialogUrl (url) {
var i;
// replace unicode escapes
url = url.replace(/\\u(\d\d\d\d)/g, function(m,d) {
return String.fromCharCode(parseInt(d, 16));
});
apex.navigation.dialog(url,
{title:'Dialog In
Out',height:'auto',width:'720',maxWidth:'960',modal:true,dialog:null},
"t-Dialog-page--standard", "#STEP_DETAILS");
}