Как получить доступ к переменным Oracle Apex из Javascript? - PullRequest
10 голосов
/ 30 марта 2011

Я использую Oracle APEX, но не уверен, как получить доступ к следующим переменным из внешнего файла javascript, который может находиться на сервере приложений или храниться в общих компонентах -> Статические файлы.

:APP_ID
:APP_PAGE_ID
:APP_SESSION

Как я могу ссылаться на значения для каждого из вышеперечисленных из javascript (хранится в виде статического файла)?

Ответы [ 2 ]

17 голосов
/ 30 марта 2011

Эти значения отображаются на странице как скрытые элементы, подобные этому:

<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" />

, чтобы вы могли ссылаться на них как:

$v('pFlowId') // APP_ID
$v('pFlowStepId') // APP_PAGE_ID
$v('pInstance') // SESSION

Жаль, что они не называются так же, как состояние сеанса!

4 голосов
/ 19 сентября 2018

Начиная с APEX 5, вы также можете использовать apex.item вместо $ v , как описано здесь :

apex.item('pFlowId').getValue() // APP_ID
apex.item('pFlowStepId').getValue() // APP_PAGE_ID
apex.item('pInstance').getValue() // APP_SESSION

Как $ v, так и apex.item требуют, чтобы пространство имен «apex» уже было загружено в тот момент, когда вы пытаетесь получить доступ к значениям. Если вам когда-либо потребуется доступ к ним до этого, вы также можете использовать только JavaScript вместо этого:

document.getElementById('pFlowId').value; // APP_ID
document.getElementById('pFlowStepId').value; // APP_PAGE_ID
document.getElementById('pInstance').value; // APP_SESSION
...