如何在Adobe Acrobat中使用JavaScript根据勾选的复选框编辑文本字段
问题根因
你脚本失效的核心问题是event.target和isBoxChecked()的使用逻辑错误:
event.target仅指代你当前点击的单个复选框,无法覆盖所有复选框的状态isBoxChecked(n)是绑定为同组的复选框组的专属方法,单独的独立复选框调用该方法无法读取其他复选框的勾选状态,因此你的判断变量一直不符合预期,文本框不会触发更新。
修复代码
将两个复选框绑定的Mouse Up事件脚本全部替换为以下内容即可:
// 请将下方的Checkbox1、Checkbox2替换为你实际设置的两个复选框的字段名 var checkbox1 = this.getField("Checkbox1").value !== "Off"; var checkbox2 = this.getField("Checkbox2").value !== "Off"; if (checkbox1 && checkbox2) { this.getField("Text1").value = "1 and 2"; } else if (checkbox1) { this.getField("Text1").value = "Just 1"; } else if (checkbox2) { this.getField("Text1").value = "Just 2"; } else { // 无勾选时清空文本框,可根据需求修改默认值 this.getField("Text1").value = ""; }
注意事项
- 代码中的复选框字段名需要和你在Acrobat表单编辑界面设置的字段名完全一致,大小写敏感
- 如果你自定义了复选框的导出值,将判断条件中的
"Off"替换为你设置的未勾选状态返回值即可 - 后续新增复选框时,按照相同逻辑新增对应字段的状态判断变量即可适配。
内容的提问来源于stack exchange,提问作者jadedQuail
相关产品推荐
相关产品推荐

