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

PDF表单中Date字段提取星期值失败问题排查请求

PDF表单日期字段提取星期值问题排查与解决

你这段代码失效的核心原因是从Date字段获取的value是字符串类型,不是JavaScript的Date对象,直接调用getDay()会触发类型错误,导致代码中断执行,自然无法写入结果。

问题拆解

getField("Date1").value返回的是PDF表单中显示的日期字符串(比如"2024/05/20"),并非可调用日期方法的Date实例,因此d.getDay()会报错,后续写入逻辑无法执行。

修复方案

先将日期字符串转换为合法的Date对象,再调用日期方法,修改后的代码如下:

// 读取Date字段的字符串值
let dateStr = getField("Date1").value;
// 将字符串转为Date对象(需匹配你的日期格式,默认支持YYYY/MM/DD、MM/DD/YYYY等通用格式)
let d = new Date(dateStr);

// 检查日期转换是否有效,避免无效日期导致的异常
if (!isNaN(d.getTime())) {
    // getDay()返回0(周日)到6(周六)的数字
    let day = d.getDay();
    this.getField("Day").value = day;
} else {
    // 处理无效日期的情况,比如清空Day字段
    this.getField("Day").value = "";
}

额外注意事项

  • 如果你的PDF日期格式是自定义格式(比如"DD-MM-YYYY"),需要手动拆分字符串构建Date对象,示例:
    let dateParts = dateStr.split("-");
    // JavaScript的Date月份是0开始的,所以要减1
    let d = new Date(dateParts[2], dateParts[1]-1, dateParts[0]);
    
  • 确认Day字段的类型为数值型或文本型,且未设置只读权限,确保代码有权限写入值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:12:04