Oracle apex 如何在APEX 5中创建新记录并打开页面

Oracle apex 如何在APEX 5中创建新记录并打开页面,oracle-apex,oracle-apex-5,Oracle Apex,Oracle Apex 5,我试图使用动态操作将“执行PL/SQL代码”绑定到按钮,然后使用新ID(execid)打开一个页面 PL/SQL代码正在工作,但我不能动摇链接,将新页面作为动态操作打开,并将新值作为P2_EXECID传递 您可以通过使用window.open()(javascript函数)来实现这一点 方法打开一个新的浏览器窗口 将真实动作添加到现有的动态动作中 为您的操作选择执行JAVASCRIPT代码 然后粘贴此代码: window.open('f?p='+$v('pFlowId')+':'+$

我试图使用动态操作将“执行PL/SQL代码”绑定到按钮,然后使用新ID(execid)打开一个页面

PL/SQL代码正在工作,但我不能动摇链接,将新页面作为动态操作打开,并将新值作为P2_EXECID传递


您可以通过使用window.open()(javascript函数)来实现这一点

方法打开一个新的浏览器窗口

  • 将真实动作添加到现有的动态动作中

  • 为您的操作选择执行JAVASCRIPT代码

  • 然后粘贴此代码:

    window.open('f?p='+$v('pFlowId')+':'+$v('pFlowStepId')+':'+$v('pFlowInstance')+':':;
    
注:
$v('pFlowId')=>应用程序ID
$v('pFlowStepId')=>页码
$v('pFlowInstance')=>会话ID

  • 如果需要传递多个项/值,可以通过以逗号作为分隔符列出这些项/值来实现

    即“f?p=…..:P2_项1、P2_项2、P2_项3:1,2,3:”


编辑:添加了第二个参数

您可以通过使用window.open()(javascript函数)来完成此操作

方法打开一个新的浏览器窗口

  • 将真实动作添加到现有的动态动作中

  • 为您的操作选择执行JAVASCRIPT代码

  • 然后粘贴此代码:

    window.open('f?p='+$v('pFlowId')+':'+$v('pFlowStepId')+':'+$v('pFlowInstance')+':':;
    
注:
$v('pFlowId')=>应用程序ID
$v('pFlowStepId')=>页码
$v('pFlowInstance')=>会话ID

  • 如果需要传递多个项/值,可以通过以逗号作为分隔符列出这些项/值来实现

    即“f?p=…..:P2_项1、P2_项2、P2_项3:1,2,3:”


编辑:添加第二个参数

打开新页面的代码/链接在哪里?谢谢Simon,你已经问了我要问的问题。如果我知道它在哪里,我就不用问了。如何使用动态操作打开页面?您希望以何种方式“打开新页面”?只需导航到具有新id的详细信息页面?或者你说的是模态对话框?我想在上面两个动态动作之后打开一个页面。我看不到任何打开页面的动态操作。“执行”按钮可以保存{提交页面、重定向到此应用程序中的页面或由动态操作定义}我的按钮由后面的按钮定义。但我也想打开一个页面,这让我觉得我不能同时打开这两个页面,因为我没有任何动态操作中的打开页面。我只是不明白为什么在运行DA之后要“打开”一个新页面。使用分支有什么问题?打开新页面的代码/链接在哪里?谢谢Simon,你已经问了我要问的问题。如果我知道它在哪里,我就不用问了。如何使用动态操作打开页面?您希望以何种方式“打开新页面”?只需导航到具有新id的详细信息页面?或者你说的是模态对话框?我想在上面两个动态动作之后打开一个页面。我看不到任何打开页面的动态操作。“执行”按钮可以保存{提交页面、重定向到此应用程序中的页面或由动态操作定义}我的按钮由后面的按钮定义。但我也想打开一个页面,这让我觉得我不能同时打开这两个页面,因为我没有任何动态操作中的打开页面。我只是不明白为什么在运行DA之后要“打开”一个新页面。使用分支有什么问题?它似乎不起作用。我不想打开一个新窗口,所以我正在尝试另一个选择。你能在这里发布你在动态操作中所做的事情吗?open methods的第二个参数让你决定在哪里打开url(主页、新选项卡或新窗口)。它似乎不起作用。我不想打开一个新窗口,所以我正在尝试另一个选择。你能在这里发布你在动态操作中所做的事情吗?open methods的第二个参数让你决定在哪里打开url(主页、新选项卡或新窗口)。
begin
insert into SMIG_EXECUTION(EXECNAME, CALL, STEPID, DURATIONMIN)
values('bla bla',REPLACE(:P31_CALLTEMPLATE,'#STEPID#',to_char(:P31_STEPID)), :P31_STEPID, 0)

returning execid into :P31_NEWEXECID ;
end;
window.open('f?p='+$v('pFlowId')+':'+$v('pFlowStepId')+':'+$v('pFlowInstance')+'::::<page item here>:<value of the item to be passed>:','_self');