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

Oracle APEX 提交时动态设置的表单项值变为NULL问题咨询

问题根因
  • 核心原因是前端通过动态动作修改的P3015_VOL值,没有成功同步到后端会话状态,也没有随页面提交回传到后端处理进程,所以提交阶段读取的还是修改前的旧值(旧值为NULL就会返回NULL),常见触发场景有两类:
    • 该表单项设置为「仅显示」状态,APEX默认不会把仅显示项的前端值随页面提交回传,即使前端改了值,后端也拿不到。
    • 动态动作仅修改了浏览器端的本地值,没有触发值同步逻辑,且提交按钮的配置里没有把P3015_VOL纳入待提交的页项列表,后端读取会话状态时拿到的还是修改前的NULL值。
解决方案

按优先级逐一排查配置即可解决:

  1. 调整表单项属性
    如果P3015_VOL是仅显示项,打开该项属性的「高级」分组,开启「提交时发送值」开关,开启后仅显示项的前端值也会随提交动作回传到后端。
  2. 调整动态动作配置
  • 如果你用的是动态动作自带的「设置值」动作:确保动作配置里的「提交时发送值」选项为开启状态;如果需要提前同步到会话状态,可以在设置值动作后新增一个空的「执行PL/SQL代码」动作,在「要提交的页项」输入框填入P3015_VOL即可完成值同步。
  • 如果你用的是自定义JS修改值:改用APEX官方API赋值,示例代码如下:
    apex.item('P3015_VOL').setValue(33, null, true);
    第三个参数传true会自动触发值变更事件和同步逻辑。
  1. 调整提交按钮配置
    打开保存按钮的「提交」动作配置,在「要提交的页项」参数里手动填入P3015_VOL,强制该项的前端值随提交动作一起回传到后端。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 21:36:01