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

PDF表单脚本需求:按单选按钮及文本框值设置文本颜色

PDF表单脚本实现:文本框根据计算结果动态变色

前置准备

先确认你PDF表单里的字段名称:

  • 单选按钮组的实际名称(比如默认可能是RadioButtonGroup1,需替换为你表单里的组名)
  • 第一个手动输入文本框的名称(比如TextBox1)
  • 第二个手动输入文本框的名称(比如TextBox2)

实现步骤

  1. 进入表单编辑模式:用Adobe Acrobat(或支持PDF表单脚本的编辑器)打开你的PDF,切换到「准备表单」模式。

  2. 给第二个文本框绑定计算脚本:

    • 选中第二个文本框,右键选择「属性」→ 切换到「计算」标签页
    • 选择「自定义计算脚本」,粘贴以下代码(记得替换字段名):
// 获取单选按钮选中的数值
var radioVal = Number(this.getField("RadioGroup1").value);
// 获取第一个文本框的输入值,转为数字类型
var input1 = Number(this.getField("TextBox1").value);
// 获取第二个文本框的输入值,转为数字类型
var input2 = Number(this.getField("TextBox2").value);

// 计算乘积:单选值 × 第一个文本框值
var calcResult = radioVal * input1;

// 获取第二个文本框的字段对象
var targetField = this.getField("TextBox2");

// 仅当所有数值有效时执行颜色判断
if (!isNaN(calcResult) && !isNaN(input2)) {
    if (input2 > calcResult) {
        targetField.textColor = color.green; // 大于乘积时设为绿色
    } else if (input2 < calcResult) {
        targetField.textColor = color.red; // 小于乘积时设为红色
    } else {
        targetField.textColor = color.black; // 等于时默认黑色,可自行修改
    }
} else {
    // 输入无效(非数字)时恢复默认黑色
    targetField.textColor = color.black;
}
  1. 添加实时触发逻辑:
    为了让单选按钮切换、第一个文本框输入变化时,第二个文本框颜色自动更新,需要给这两个控件绑定脚本:
    • 选中单选按钮组,右键「属性」→「动作」标签页,选择「鼠标释放」事件,添加「运行JavaScript」,粘贴上面的同一段代码。
    • 选中第一个文本框,右键「属性」→「动作」标签页,选择「键释放」事件,添加「运行JavaScript」,粘贴同样的代码。

注意事项

  • 必须替换代码里的字段名称为你表单的实际名称(在「准备表单」模式下,选中字段即可查看名称)。
  • 若需要调整等于乘积时的文本颜色,直接修改else分支里的color.black即可(比如改成color.blue)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:40:07