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

Oracle Apex交互式网格动态动作客户端JS表达式编写求助

Oracle Apex 交互式网格动态动作 JavaScript 实现方案

配置与代码实现

  • 动态动作触发设置:将触发条件设为GLOBAL_ATTRIBUTE_CHAR21字段变更,事件类型选择「Change」,作用域指定为「Interactive Grid」。
  • 客户端 JavaScript 代码(直接写在动态动作的「执行 JavaScript 代码」动作中):
// 获取当前字段值
var num14Value = apex.item('GLOBAL_ATTRIBUTE_NUMBER14').getValue();
var char21Value = apex.item('GLOBAL_ATTRIBUTE_CHAR21').getValue();

// 核心逻辑判断
if (num14Value === "VS") {
    // 检查是否包含'B'或'-'
    if (!(/[B-]/.test(char21Value))) {
        apex.message.alert('输入值必须包含"B"或"-"');
        // 若需阻止保存动作,添加下方代码
        apex.event.preventDefault();
    }
}

代码说明

  • 使用apex.item().getValue()是 Oracle Apex 官方推荐的客户端字段值获取方式,确保在交互式网格环境下的兼容性。
  • 正则表达式/[B-]/用于匹配包含'B'或'-'的字符串,test()方法返回布尔值快速判断是否符合要求。
  • apex.message.alert()是 Apex 标准弹窗方法,替代原生alert()可保持界面风格统一。
  • 若需要在触发警告时阻止表单提交,保留apex.event.preventDefault()即可。

验证场景

  • 合法值:CTXY-L(含'-')、LDLBBY(含'B')→ 无警告,正常执行保存。
  • 非法值:DCXDDY(不含'B'和'-')→ 弹出警告,按需阻止保存。

内容的提问来源于stack exchange,提问作者Oracle Apex Developer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:57:06