如何通过执行 JavaScript 代码添加将重定向到另一个页面的动态操作?

How to add a dynamic action that will redirect to another page by executing JavaScript Code?

我的 apex 应用程序上有按钮,单击后会执行自定义 PL/SQL 代码。它们的名称为 APPLY(确认)和 CHANGE(计数正确)。我需要它,以便在单击 APPLY 时,它重定向到同一页面(实现了 PL/SQL 代码),当单击 CHANGE 时,它重定向到另一个页面(实现了 PL/SQL 代码) .

我尝试通过 "When Button is Pressed" and/or "Condition Type: Request = Expression 1" 为 After Processing 设置条件分支,表达式 1 的值等于 "APPLY" 或 "CHANGE" .我无法以这种方式(令人沮丧地)产生我正在寻找的结果。 APEX 说提交的页面请求采用单击的名称按钮(即单击应用时应用),但我无法做到这一点。

我现在正在寻求为我的应用和更改动态操作添加一个真实操作(目前分别为 "Execute PL/SQL Code" 和 "Submit Page"),它执行 Javascript 代码重定向到应用程序中的所需页面。

我认为代码会使用类似这样的东西

"apex.navigation.redirect('f?p=928:35:4081364075246::NO:::');"

在本例中,第 35 页是我希望“更改”按钮重定向到的页面。

我并不像我希望的那样精通 JavaScript,因此,如果您对我的方法论有任何帮助,我们将不胜感激。

我终于知道怎么做了。按钮的Request(具体是按钮的动态动作)没有设置为按钮名称,因为'Submit Page' true 动作的'Request/Button Name'没有设置为按钮的名称。

确保在动态操作中将此信息添加到 'Settings' 下。分支应放置到 'Submit: before Processing',条件 'Request = Expression 1',表达式 1 等于按钮名称!

在最近的项目中,我需要在用户单击模型页面上的“保存”按钮后进行页面重定向。该按钮有一个包含 3 个独立操作的动态操作:

  • 执行PL/SQL
  • 提交页面
  • 关闭对话框

Submit PageClose Dialog 之间,我添加了一个 Execute Javascript 操作,用于单击我添加到页面的隐藏按钮。

 document.getElementById("BTN_ID").click();

Behavior -> Action -> Redirect to Page 中设置隐藏按钮应用程序,以及页面#

我将 #BTN_ID{visibility:hidden;} 按钮隐藏在页面的 CSS 内联部分。

这有效。

以下是我解决类似情况的方法: 我想让第 2 页的 DELETE 按钮对其他表执行删除,除了删除显示的行,然后 return 到第 1 页:

  • 删除了现有的删除按钮。
  • 创建了新按钮:按钮名称=DELETE,标签=删除,操作=提交页面.
  • 创建了一个提交流程分支:名称=删除并Return到第1页,执行点=提交后,行为类型=页面或URL,目标=第1页,高级请求=DELETE,服务器端条件=按下按钮时=DELETE,类型=PL/SQL 函数体,

然后 PL/SQL 函数体:

声明

   lv_msg   varchar2(2000) := null;

begin
   pz_delete_related_records(:P2_KEY1, :P2_KEY2, lv_msg);

   DELETE FROM BASE_TABLE
   WHERE KEY1 = :P2_KEY1
   AND   KEY2 = :P2_KEY2;

   RETURN TRUE;

end;