首页 > 解决方案 > 使用 Javascript 立即更改 PDF 中的下拉对象的颜色

问题描述

我有一个 PDF 表单,其中包含几个下拉框,其中包含“_”、“是”、“否”、“N/A”和“其他”。当用户选择否时,我希望该字段变为红色。

目前我正在使用代码:

 var v = getField("AWA_01").valueAsString;
 if (v=="No") {event.target.fillColor = color.red;}
 else {event.target.fillColor = color.transparent;}

其中 AWA_01 是第一个下拉框的名称。我也使用过代码:

switch(this.getField("TTS_01").value) {
case "No":
event.target.fillColor = color.red;
break;
default:
event.target.fillColor = color.transparent;
break;
}

这两个代码都会执行,但问题是 Adob​​e 中执行代码时的唯一选项是 Mouse Up、Mouse Down、Mouse Enter、Mouse Exit、On Focus 和 On Blur。由于下拉框中的“否”低于主框下方的位置,因此在您再次重新进入该框之前,颜色更改不会生效。

在此处输入图像描述

我尝试将相同的代码添加到文档 javascript 的“将打印”部分,但它似乎不起作用。有没有办法强制代码立即执行而不是那些股票鼠标选项之一?

我确实打开了“立即提交选定的值”,但这没有帮助。

标签: javascriptobjectpdfadobeconditional-formatting

解决方案


将您的代码作为自定义格式脚本附加到 Format 操作。格式在提交值之后但在使用新值重绘字段之前运行。


推荐阅读