Oracle ApeX (PL/SQL) - 从 JavaScript 变量中创建绑定变量

Posted

技术标签:

【中文标题】Oracle ApeX (PL/SQL) - 从 JavaScript 变量中创建绑定变量【英文标题】:Oracle ApeX (PL/SQL)- Creating Bind variable out of JavaScript variable 【发布时间】:2015-10-29 12:01:46 【问题描述】:

使用 Oracle APEX 4.2.x。我创建了一个弹出窗口,可以搜索银行账户(用我的语言重新编写)。它将返回一个 ID,我们将在动态操作中使用它来获取有关该银行帐户的所有信息。

我们必须在同一个页面上使用它两次,在多个页面上,所以我们的解决方案是创建一个隐藏字段,其输入字段的名称包含(待填充的)Rekening_ID。这将被传递给我们的 PopUp 函数,该函数会将其转发给回传函数。这样我们就可以将此弹出窗口用于多个文本字段。

这是待填充页面的html Header中的函数。

注意:paramItem 类似于:P2_BANK_ACCOUNT_ID

<script language="javascript" type="text/javascript">
  function callMyPopup (paramItem) 
    var hiddenField = document.getElementById(paramItem).value;
    var url;
  url = 'f?p=&APP_ID.:3:&APP_SESSION.::::P3_HIDDEN:' + hiddenField;
  w = open(url,"winLov","Scrollbars=1,resizable=1,width=800,height=600");
  if (w.opener == null)
  w.opener = self;
  w.focus();
  
</script>

这是 passBack 函数(在银行账户报告的“链接”列中调用)。

 <script language="JavaScript">
    function passBack(hidden_field, rekening_id)
    
    opener.document.getElementById(hidden_field).value = rekening_id;
    close();
    
</script>

所以在弹出的页面上,P3_HIDDEN 的值被设置为 paramItem 的值,其中包含我们将用来回传的文本字段。

这个 hidden_​​field 需要传递给回传函数。现在我将值存储在 P3_HIDDEN 中,但它与带有“链接”列的报告位于不同的区域。这样,当我使用 #HIDDEN# 时,它会直接传递 passBack('#HIDDEN#',1) 例如。但我需要这是值或 P3_HIDDEN。现在我认为这可以通过将其设为 Bind 变量来实现。

问题:如何将我的p3_hiddent字段内容纳入绑定变量,或者在选择链接位于另一个区域中的粘合变量中,或者进入乘法函数?

【问题讨论】:

【参考方案1】:

答案是:代替#P3_HIDDEN#in passBack,调用$v('P3_HIDDEN')

【讨论】:

以上是关于Oracle ApeX (PL/SQL) - 从 JavaScript 变量中创建绑定变量的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE apex - 使用 PL/SQL 循环通过复选框项目

PL/SQL 中的问题 = 错误堆栈:ORA-01403:Oracle Application Express (APEX) 中没有数据

从 apex 页面进程调用 pl/sql 函数

Oracle Apex:PL/SQL 块中的 Javascript 代码

Oracle APEX PL/SQL 错误

ORACLE APEX PL SQL 过程错误