首页 文章

Oracle ApeX(PL / SQL) - 用JavaScript变量创建Bind变量

提问于
浏览
0

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

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

这是待填充页面的HTML Headers 中的功能 .

NOTE: the paramItem is something like: 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中,但它是's in a different region as the Report with the ' link'列 . 这样,当我使用#HIDDEN#时,它会以字面方式传递 passBack('#HIDDEN#',1) . 但我需要这个值或P3_HIDDEN . 现在我认为通过使它成为Bind变量可以实现这一点 .

Question: How can I get my P3_HIDDEN field content into a bind variable, or into the passBack function while the select link is in another region?

1 回答

  • 0

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

相关问题