Oracle Apex中如何通过动态操作刷新按钮传递页项值至模态对话框
Oracle Apex模态对话框页项传值问题解决方法
方案一:通过动态操作刷新按钮(推荐)
- 新建动态操作:在页面530上创建动态操作,触发条件选「当页项改变」,指定页项为
P530_NETGEBIED。 - 添加刷新操作:操作类型选「刷新」,刷新对象选择打开模态框的按钮(需提前给按钮设置静态ID,方便精准选中)。
- 配置按钮传值:在按钮的「目标」设置里,添加源页项
P530_NETGEBIED,对应目标页项P531_NETGEBIED,确保传值规则正确。 - 测试:点击IG行更新
P530_NETGEBIED后,按钮会重新渲染,此时点击按钮打开模态框,P531_NETGEBIED就能获取最新值。
方案二:优化URL重定向方案(解决刷新问题)
如果想用URL重定向的方式,可按以下步骤解决模态框关闭后父页面不刷新的问题:
- 设置模态框关闭回调:在页面531的对话框属性或关闭按钮中,添加JS回调
apex.navigation.refresh(),实现关闭时刷新父页面530。 - 编写更新按钮URL的JS函数:在页面530的「函数和全局变量声明」中加入以下代码(替换按钮静态ID):
function updateModalBtnUrl() { var val = apex.item('P530_NETGEBIED').getValue(); var btn = document.getElementById('MODAL_BTN_STATIC_ID'); btn.href = 'f?p=&APP_ID.:531:&SESSION.::NO::P531_NETGEBIED:' + val; }
- 绑定页项变化事件:在
P530_NETGEBIED的「高级」属性中,设置「当值改变时」执行updateModalBtnUrl();,确保按钮URL随页项值实时更新。
内容的提问来源于stack exchange,提问作者Allard
相关产品推荐
相关产品推荐

