如何从Javascript访问Oracle Apex变量?

ton*_*nyf 12 javascript oracle-apex

我正在使用Oracle APEX但不确定如何从外部javascript文件访问以下变量,该文件可能位于应用服务器上或存储在共享组件 - >静态文件中.

:APP_ID
:APP_PAGE_ID
:APP_SESSION
Run Code Online (Sandbox Code Playgroud)

如何从javascript(存储为静态文件)中引用上述每个值?

Ton*_*ews 19

这些值在页面上呈现为隐藏的项目,如下所示:

<input type="hidden" name="p_flow_id" value="4000" id="pFlowId" />
<input type="hidden" name="p_flow_step_id" value="4150" id="pFlowStepId" />
<input type="hidden" name="p_instance" value="6528421540413702" id="pInstance" />
Run Code Online (Sandbox Code Playgroud)

所以你可以参考它们:

$v('pFlowId') // APP_ID
$v('pFlowStepId') // APP_PAGE_ID
$v('pInstance') // SESSION
Run Code Online (Sandbox Code Playgroud)

遗憾的是,它们与会话状态的命名并不相同!

  • @ 6055 do`var app_user ='&APP_USER.';`在页面详细信息/部分"JavaScript"/ textarea"函数和全局变量声明"中.然后,您可以在页面的其他位置使用它. (4认同)

小智 5

由于APEX 5你也可以使用apex.item代替$ V,描述在这里

apex.item('pFlowId').getValue() // APP_ID
apex.item('pFlowStepId').getValue() // APP_PAGE_ID
apex.item('pInstance').getValue() // APP_SESSION
Run Code Online (Sandbox Code Playgroud)

$ v和apex.item都要求在您尝试访问值时已经加载了“ apex”名称空间。如果您之前需要访问它们,则也可以只使用JavaScript:

document.getElementById('pFlowId').value; // APP_ID
document.getElementById('pFlowStepId').value; // APP_PAGE_ID
document.getElementById('pInstance').value; // APP_SESSION
Run Code Online (Sandbox Code Playgroud)