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

如何解决Adobe Acrobat中JavaScript missing : after property id错误

错误原因

JavaScript对象语法要求,当属性名包含空格、句点等特殊字符,不是纯连续字母/数字/下划线的合法标识符时,必须给属性名包裹引号(单引号、双引号均可)。你参考的示例代码里的部门名都是无空格无特殊符号的连续单词(比如Accounting、Engineering),可以直接作为属性名使用,但你替换的法庭名称包含空格、句点,直接裸写会导致JS解析器无法识别属性边界,直接抛出missing : after property id的语法错误。

修复后可直接使用的代码
// 法庭-地址映射数据,所有带特殊字符/空格的属性名统一加单引号包裹
var DeptData = { 
  'South Division Dept. 1': { address: "20520 68th Ave. W. Lynnwood WA 98036"},
  'South Division Dept. 2': { address: "20520 68th Ave W Lynnwood WA 98036"},
  'South Division Dept. 3': { address: "20520 68th Ave. W. Lynnwood WA 98036"},
  'South Division Dept. 4': { address: "20520 68th Ave. W. Lynnwood WA 98036"},
  'Cascade Division Dept. 1': { address: "415 E Burke Ave. Arlington WA 98223"},
  'Cascade Division Dept. 2': { address: "415 E Burke Ave. Arlington WA 98223"},
  'Evergreen Division Dept. 1': { address: "14414 179th Ave SE Monroe WA 98272"},
  'Evergreen Division Dept. 2': { address: "14414 179th Ave SE Monroe WA 98272"},
  'Everett Division Courtroom 3A': { address: "3000 Rockefeller Ave Everett WA 98201"},
  'Everett Division Courtroom 3B': { address: "3000 Rockefeller Ave Everett WA 98201"},
  'Everett Division Courtroom 3C': { address: "3000 Rockefeller Ave Everett WA 98201"}
};

function SetFieldValues(cCourtroom)
{
  // 增加空值判断,避免选空选项时报错
  if(DeptData[cCourtroom]){
    this.getField("address").value = DeptData[cCourtroom].address;
  } else {
    this.getField("address").value = "";
  }
}
表单配置注意事项
  • 给名为Courtroom的下拉框配置触发动作:在下拉框的属性-动作面板里,选择「选择选项」作为触发条件,运行脚本SetFieldValues(event.value);,否则选中选项后不会触发地址填充逻辑。
  • 下拉框每个选项的导出值必须和上面代码里DeptData的属性名完全一致,包括空格、标点、大小写,不能有多余字符,否则会匹配不到对应地址。
  • 确认存储地址的文本字段名称严格为address,Adobe Acrobat的表单字段名大小写敏感,写成Address、addres都会导致取值失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:09:20