Oracle Apex -是否可以在不提交的情况下从客户端向服务器端发送页面项的值?

3npbholx  于 2023-11-17  发布在  Oracle
关注(0)|答案(2)|浏览(145)

我添加了一个JavaScript函数来捕获在GRID中选择的行的ROWID,并将其传递给页面项。

var gridView = apex.region("emp").call("getCurrentView"),
    selectedRecords = gridView.getSelectedRecords(),
    idValues = "";

for (var i = 0; i < selectedRecords.length; i++) {
    var record = selectedRecords[i];
    var idValue = record[0];
    idValues += idValue;

    if (i < selectedRecords.length - 1) {
        idValues += ",";
    }
}
$s("P43_ROW_SELECT", idValues);

字符串
但是,我需要使用这个项目在一个进程(服务器端)中接收的值,所以我必须首先提交页面,以便项目实际接收值,这样我就可以在进程中使用它们。
我的问题是,如果可以在PL/SQL(服务器端)中传递项目在我的过程中接收的值,而不需要提交页面,除了提交之外还有其他方法吗?

dgsult0t

dgsult0t1#

你可以使用一个AJAX进程,如文档中所解释的,在这里检查apex.server.process函数。
另一个解决方案,最合适的一个,将添加一个执行服务器端代码行动到您的DA,并列出项目(P43_ROW_SELECT)在项目提交部分。Here你可以找到一个更详细的解释。

klsxnrf1

klsxnrf12#

谢谢你的帮助,我做了不同的,而不是把它传递给一个页面项目,我把它作为一个参数在进程调用,类似于这样:

apex.server.process( "processSubmitAjax", {
    x01: idValues 
},
{
   [...]
}

字符串
我在过程中打了电话

DECLARE
  l_x01         VARCHAR2(100);
BEGIN
  l_x01 := APEX_APPLICATION.G_X01;

[...]

相关问题