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

Oracle ApeX (PL/SQL)- Creating Bind variable out of JavaScript variable

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

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

这是待填页面HTML页眉中的函数

注意: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>

这是回传功能(在银行账户报告的 'link' 列中调用)。

 <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 中,但它与具有 'link' 列的报告位于不同的区域。这样,当我使用#HIDDEN# 时,它会按字面意思传递 passBack('#HIDDEN#',1)。但我需要这个作为值或 P3_HIDDEN。现在我认为这可以通过将其设为绑定变量来实现。

问题:当 select link 位于另一个区域时,如何将我的 P3_HIDDEN 字段内容放入绑定变量或回传函数中?

答案是:在 passBack 中调用 $v('P3_HIDDEN')

而不是 #P3_HIDDEN#