我在第1页上有一个字段的值,我需要传递到第2页(模态对话框)。该字段在第1页发生更改。我可以看到它在页面上得到了更新,当我在调试消息中打印它的值时。当我点击按钮时,操作“重定向到应用程序中的页面”,第2页上的值是字段的初始值,而不是更新后的值,这是一个错误吗?x1c 0d1x的数据我能做什么?我不想使用动态动作或类似“prepare_url”的东西,因为有很多原因。- 谢谢-谢谢
kb5ga3dv1#
这不是链接的工作方式。你看到的不是bug,而是预期行为。该链接在呈现页面时呈现,并且将在呈现时具有项值以及基于这些值计算的校验和(取决于设置)。它不会接受任何更改。这样做的“传统”方法如下。假设条件:需要从第1页导航到第2页,并将第2页上的P2_ITEM设置为第1页上的P1_ITEM值。1.创建按钮(假设按钮名称为MYBUTTON)类型为“提交页面”1.在“处理”下,创建一个分支到第2页。1.对于“页面或URL”,选择第2页并将P2_ITEM设置为值P1_ITEM。1.对于“处理点”,选择“提交后”1.在“服务器端条件”下,选择“按下按钮时”下的“MYBUTTON”。由于这是一个分支,您的页面已经提交,并且您对P1_ITEM所做的所有更改都将被拾取。第2页是模态的这一事实并不影响这一点,APEX将为您处理这一问题。
rqqzpn5f2#
作为Koen Lostries优秀解释的替代方案,在某些情况下,也可以让目标页面从源页面加载项目。确保项目被推送到会话中,例如通过使用带有items to submit选项的动态操作,但在此动态操作中不执行任何其他操作。然后,当第2页打开时,只需添加一个pre-header-process,就可以生成类似:P2_ITEM := :P1_ITEM;的内容根据我的经验,这种方法比在动态动作中做重定向更容易,因为没有声明性选项,而且你经常需要手写的JavaScript来做这件事。
items to submit
:P2_ITEM := :P1_ITEM;
k3fezbri3#
您还可以使用Koen的解决方案在模态窗口关闭后进行检查,方法是创建一个动态动作,其中对话框关闭或取消动态动作,JS表达式选择类型为“窗口”。
3条答案
按热度按时间kb5ga3dv1#
这不是链接的工作方式。你看到的不是bug,而是预期行为。该链接在呈现页面时呈现,并且将在呈现时具有项值以及基于这些值计算的校验和(取决于设置)。它不会接受任何更改。
这样做的“传统”方法如下。假设条件:需要从第1页导航到第2页,并将第2页上的P2_ITEM设置为第1页上的P1_ITEM值。
1.创建按钮(假设按钮名称为MYBUTTON)类型为“提交页面”
1.在“处理”下,创建一个分支到第2页。
1.对于“页面或URL”,选择第2页并将P2_ITEM设置为值P1_ITEM。
1.对于“处理点”,选择“提交后”
1.在“服务器端条件”下,选择“按下按钮时”下的“MYBUTTON”。
由于这是一个分支,您的页面已经提交,并且您对P1_ITEM所做的所有更改都将被拾取。第2页是模态的这一事实并不影响这一点,APEX将为您处理这一问题。
rqqzpn5f2#
作为Koen Lostries优秀解释的替代方案,在某些情况下,也可以让目标页面从源页面加载项目。
确保项目被推送到会话中,例如通过使用带有
items to submit
选项的动态操作,但在此动态操作中不执行任何其他操作。然后,当第2页打开时,只需添加一个pre-header-process,就可以生成类似:P2_ITEM := :P1_ITEM;
的内容根据我的经验,这种方法比在动态动作中做重定向更容易,因为没有声明性选项,而且你经常需要手写的JavaScript来做这件事。
k3fezbri3#
您还可以使用Koen的解决方案在模态窗口关闭后进行检查,方法是创建一个动态动作,其中对话框关闭或取消动态动作,JS表达式选择类型为“窗口”。