oracle - Apex 链接构建器值 - 项目未显示在目标页面上
问题描述
我从 Javascript 加载 P70_NODE_ID。
顶点 20.2
然后运行以下命令:
- apex_util.set_session_state('P70_NODE_ID_OUT', :P70_NODE_ID);
当我显示会话时,我看到 P70_NODE_ID_OUT 和 P70_NODE_ID。他们都有正确的价值观
- 使用链接生成器链接到另一个页面
在项目和值下:项目 P80_STEP_ID 值:P70_NODE_ID_OUT
- 显示 p80_STEP_ID
我从来没有看到过价值。
注意:目标页面是使用表单向导构建的模式对话框。
我尝试使用 where 语句 P80_STEP_ID = :P70_NODE_ID_OUT
我仍然没有看到价值。
问题是否与从 Javascript 中插入值有关?
我该如何解决这个问题?
谢谢
解决方案
事实证明,当在同一个应用程序中使用重定向到另一个页面时,它使用页面构建时存在的值,并且不再查看这些值。因此,当页面加载后值发生更改时,不会使用新值。以下允许您在重定向时使用更改的值。
使用 Apex 社区的建议。这对我有用。
这使用 apex_page.get_url 和您建议的技术。测试不错。
在流程图中选择节点时运行的 Javascript:
$s('P72_NODE_ID', tagNum);
$s('P72_NODE_TYPE', selNode.getShape().getId());
$.event.trigger('submitNodeSel');
动态事件
什么时候
事件:自定义
自定义事件:submitNodeSel
选择类型: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");
}
推荐阅读
- java - 调用 bean 只读属性时出现 java.lang.NullPointerException
- python - 在python中为全局变量赋值
- c# - 将 XML 反序列化为字典
- google-apps-script - 如何将基于单元格值的行移动到其他工作表?
- reactjs - 如何在 React Native 中加载数据时显示 ActivityIndicator
- .net - 如何在 gitlab ci 中将 chrome 和 Firefox 的 selenium 驱动程序与 dotnet blazor 服务器集成以进行 e2e 测试
- java - Flappy Bird Pipes 如何在 Java 中随机化我用于学校的程序是 JGrasp
- dictionary - 如何处理 Haskell 中的“可能 [值]”列表?
- google-chrome-extension - Chrome 扩展 - 来自“launchWebAuthFlow”的令牌在一小时后过期,需要用户交互才能获得新的
- svg - 在 Web 浏览器中将 SVG 的字体大小与常规文本匹配