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

Adobe JavaScript开发需求:输入日期超365天自动勾选复选框

Adobe Acrobat 日期验证自动勾选复选框脚本方案

操作步骤

  1. 打开目标PDF表单,进入表单编辑模式(路径:工具 > 准备表单)
  2. 找到名为DORMANT的日期字段,右键选择属性
  3. 切换至验证选项卡,选择自定义验证脚本,点击编辑按钮
  4. 粘贴以下JavaScript代码并保存
// 获取DORMANT字段输入值
var dormantDateStr = event.value;
// 获取CheckBox2字段对象
var checkBox = this.getField("CheckBox2");

if (dormantDateStr) {
    // 解析MM/DD/YYYY格式日期(注意月份为0索引,需减1)
    var dateParts = dormantDateStr.split("/");
    var dormantDate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
    // 重置今日日期的时分秒,避免时间干扰判断
    var today = new Date();
    today.setHours(0, 0, 0, 0);
    
    // 计算日期差:优先用年份差+日期比较(适配闰年)
    var yearDiff = today.getFullYear() - dormantDate.getFullYear();
    var isOverOneYear = yearDiff > 1 || (yearDiff === 1 && today > new Date(today.getFullYear() - 1, dormantDate.getMonth(), dormantDate.getDate()));
    
    // 设置复选框状态:超过1年则勾选,否则取消
    checkBox.checkboxValue = isOverOneYear ? "Yes" : "Off";
} else {
    // 字段为空时自动取消勾选
    checkBox.checkboxValue = "Off";
}

关键说明

  • 字段名称匹配:确保脚本中DORMANT和CheckBox2与表单实际字段名完全一致(大小写敏感)
  • 日期格式适配:若你的日期格式为DD/MM/YYYY,需调整日期解析逻辑为new Date(dateParts[2], dateParts[1] - 1, dateParts[0])
  • 闰年兼容:脚本采用年份差+当日日期比较的方式,比单纯毫秒差计算更准确,能自动适配闰年不同月份的天数差异
  • 空值处理:若DORMANT字段未输入日期,复选框会自动取消勾选

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:52:11