使用 javascript 的 Oracle Apex 应用程序项目值设置
Oracle Apex Application Item value setting using javascript
我有一个应用程序项 - APP_BRCODE(不是页面项),如果我使用 &APP_BRCODE 访问该值。我可以检索值,但无法使用 javasctipt 设置值。 $s('APP_BRCODE',value) 不起作用
Javascript 单独只能更改已呈现在页面上的项目的值 - 即页面项目。要更改应用程序项目的值,需要调用数据库 - 提交页面或进行 AJAX 调用。您可以从 Javascript 代码发出 AJAX 调用,如下所示:
apex.server.process
( "MY_PROCESS",
{ x01: my_var
},
{ success: function( pData ) {
},
dataType: "text"
}
);
这会将 x01
设置为变量 my_var
的值并调用 AJAX 回调(又名 "on demand")PL/SQL 进程 MY_PROCESS
.
然后PL/SQL进程可以设置应用项:
:APP_ITEM := apex_application.g_x01;
好像工作量很大?可能是。不知道为什么要从 Javascript 设置应用程序项目,很难说这是否值得。您可以只设置一个隐藏的页面项目吗?
当我为相同的上下文寻找解决方案时,我最终看到了你的回复。
在动态操作中,
apex.server.process
( "upload_ajax_process",
{ x01: this.browserEvent.originalEvent.detail.serverId
},
{ success: function( pData ) {
},
dataType: "text"
}
);
在 Processing 中,创建了回调函数 "upload_ajax_process",如下所示。插入语句在 table 中正确插入了值,但是页面显示项 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;
我有一个应用程序项 - APP_BRCODE(不是页面项),如果我使用 &APP_BRCODE 访问该值。我可以检索值,但无法使用 javasctipt 设置值。 $s('APP_BRCODE',value) 不起作用
Javascript 单独只能更改已呈现在页面上的项目的值 - 即页面项目。要更改应用程序项目的值,需要调用数据库 - 提交页面或进行 AJAX 调用。您可以从 Javascript 代码发出 AJAX 调用,如下所示:
apex.server.process
( "MY_PROCESS",
{ x01: my_var
},
{ success: function( pData ) {
},
dataType: "text"
}
);
这会将 x01
设置为变量 my_var
的值并调用 AJAX 回调(又名 "on demand")PL/SQL 进程 MY_PROCESS
.
然后PL/SQL进程可以设置应用项:
:APP_ITEM := apex_application.g_x01;
好像工作量很大?可能是。不知道为什么要从 Javascript 设置应用程序项目,很难说这是否值得。您可以只设置一个隐藏的页面项目吗?
当我为相同的上下文寻找解决方案时,我最终看到了你的回复。
在动态操作中,
apex.server.process
( "upload_ajax_process",
{ x01: this.browserEvent.originalEvent.detail.serverId
},
{ success: function( pData ) {
},
dataType: "text"
}
);
在 Processing 中,创建了回调函数 "upload_ajax_process",如下所示。插入语句在 table 中正确插入了值,但是页面显示项 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;