使用javascript设置Oracle Apex Application Item值

时间:2017-07-12 07:28:14

标签: javascript oracle-apex-5

如果我使用& APP_BRCODE访问该值,我有一个应用程序项 - APP_BRCODE(不是页面项)。我可以检索该值,但我无法使用javasctipt设置该值。 $ s('APP_BRCODE',值)不起作用

2 个答案:

答案 0 :(得分:1)

单独使用Javascript只能更改已在页面上呈现的项目的值 - 即页面项目。要更改应用程序项的值,需要调用数据库 - 提交页面或进行AJAX调用。您可以使用以下Javascript代码进行AJAX调用:

<GridView IsHitTestVisible="{Binding IsLoaded}" Style="{StaticResource LoadingGridViewStyle}" />

这会将apex.server.process ( "MY_PROCESS", { x01: my_var }, { success: function( pData ) { }, dataType: "text" } ); 设置为变量x01的值并调用AJAX回调(又名“按需”)PL / SQL进程my_var

然后,PL / SQL进程可以设置应用程序项:

MY_PROCESS
好像很多工作似乎?也许。不知道为什么要从Javascript设置应用程序项目,很难说这是否值得。你可以设置一个隐藏的页面项目吗?

答案 1 :(得分:0)

当我寻求针对相同上下文的解决方案时,我最终看到了您的回复。

在动态操作中,

apex.server.process
  ( "upload_ajax_process",

    { x01: this.browserEvent.originalEvent.detail.serverId
    },

    { success: function( pData ) {
               },
     dataType: "text"
    }
  );

在处理中,如下创建了回调函数“ upload_ajax_process”。 insert语句将值正确插入表中,但是页面显示项P12_DOCUMENTURL没有显示该值。我在这里想念什么?

begin
:P12_DOCUMENTURL := apex_application.g_x01;

insert into tbl_bs_commentsdoc (commentsdocid, documenturl)
values (seq_commentsdoc_commentsdocid.nextval, apex_application.g_x01);

end;