如何通过执行 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 Page
和 Close 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;
我的 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 Page
和 Close 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;