如何使用javascript/html更新Oracle APEX中的表中的记录?

Jin*_*Jin 1 html javascript oracle oracle-apex

目前我在Oracle APEX中有一个所有基于html的页面.该页面实际上包含一个地图和一个区域,其中包含用户在地图上单击的位置的坐标.

我被困在如何使用html页面中的值更新APEX中的表格.

感谢您提供任何指导或帮助.

Tom*_*Tom 5

我做了一个快速的模拟:在这里试试

这是我的页面设置: 页面设置

我的按钮上的动态操作,执行Javascript代码(我使用了一个按钮,也可以将其绑定到任何其他元素):

var oDBGet = new htmldb_Get(null, $v('pFlowId'), "APPLICATION_PROCESS=SAVE_COORDS", $v('pFlowStepId'));
oDBGet.addParam('x01', $v("P25_NAME"));
oDBGet.addParam('x02', $v("P25_XCOORD"));
oDBGet.addParam('x03', $v("P25_YCOORD"));

oDBGet.get();
Run Code Online (Sandbox Code Playgroud)

刷新位于报告区域,以显示它的工作原理.

htmldb_Get在apex中是一个未记录的函数.

  • 参数1:会话ID - >不必要因此为null
  • 参数2:应用程序ID(因此您可以使用&APP_ID.替换字符串,但这在.js文件中不可用)
  • 参数3:要执行的过程.这可以是应用程序或页面进程.由参数4定义
  • 参数4:页面ID(再次,&APP_PAGE_ID.可用).如果没有提供,则假定该过程是应用程序级进程(共享组件 - > ...)

apex_application.g_x##,01到10是用于临时存储的10个可能的变量.你像我展示的那样传递它们:x01,x02...在应用程序中你可以通过它们来引用它们apex_application.g_x##.

页面处理,AJAX回调:

insert into coordinates
(name, xcoord, ycoord)
values
(apex_application.g_x01, apex_application.g_x02, apex_application.g_x03);
Run Code Online (Sandbox Code Playgroud)

要根据需要对其进行自定义,您需要将事件绑定到正确的选择器,并提供正确的变量.