You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex:如何将普通页面输入项同步到模态页面项

解决APEX中普通页面字段与模态页面字段同步的问题

方案1:模态页面已打开时实时同步

模态页面未打开时,其DOM元素尚未加载,直接用动态操作绑定普通页面字段的变化事件会找不到目标元素。可通过以下方式实现实时同步:

  1. 在普通页面(页面7)的P7_PRODUCT字段上创建动态操作:
    • 触发条件:选择Change事件
    • 动作选择Execute JavaScript Code,输入代码:
      // 检查模态页面是否处于打开状态
      var modalDialog = apex.dialog.getDialog();
      if (modalDialog && modalDialog.length > 0) {
          // 将普通页面字段值同步到模态页字段
          apex.item("P8_PRODUCT").setValue(this.triggeringElement.value);
      }
      

方案2:打开模态页面时自动带入当前值

确保打开模态页时,直接把P7_PRODUCT的当前值传递给P8_PRODUCT,避免打开后值不同步:

  1. 编辑打开模态页面的按钮:
    • 在按钮的目标设置中,选择对应的模态页面(页面8)
    • 在设置 -> 传递项中添加:
      P8_PRODUCT:P7_PRODUCT
      
    点击按钮打开模态页时,P8_PRODUCT会自动获取P7_PRODUCT的当前值。

方案3:结合两种方案(推荐)

同时配置上述两种方式,既保证打开模态页时带值,又能在模态页打开后实时同步输入内容:

  • 按方案2设置按钮的传递项
  • 按方案1添加动态操作实现实时同步

常见排查点

  • 确认模态页面的项名称拼写正确(如P8_PRODUCT是否有误)
  • 检查动态操作的触发条件是否为Change事件
  • 可通过浏览器控制台执行console.log(apex.item("P8_PRODUCT")),确认是否能正确获取模态页字段元素

内容的提问来源于stack exchange,提问作者Arianna Nicastro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:45:31