使用 Javascript 立即更改 PDF 中下拉对象的颜色
Immediate color change for dropdown object in PDF with Javascript
我有一个 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;
}
这两个代码都执行,但问题是在 Adobe 中执行代码时的唯一选项是鼠标松开、鼠标按下、鼠标进入、鼠标退出、聚焦和模糊。由于下拉框中的“否”位于主框下方,因此颜色更改不会生效,直到您第二次重新进入该框。
我已尝试将相同的代码添加到文档 javascript 的“将打印”部分,但它似乎不起作用。有没有一种方法可以强制代码立即执行,而不是使用那些常用的鼠标选项之一?
我确实启用了“立即提交所选值”,但这没有用。
将您的代码作为自定义格式脚本附加到格式操作。格式在提交值之后但在使用新值重新绘制字段之前运行。
我有一个 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;
}
这两个代码都执行,但问题是在 Adobe 中执行代码时的唯一选项是鼠标松开、鼠标按下、鼠标进入、鼠标退出、聚焦和模糊。由于下拉框中的“否”位于主框下方,因此颜色更改不会生效,直到您第二次重新进入该框。
我已尝试将相同的代码添加到文档 javascript 的“将打印”部分,但它似乎不起作用。有没有一种方法可以强制代码立即执行,而不是使用那些常用的鼠标选项之一?
我确实启用了“立即提交所选值”,但这没有用。
将您的代码作为自定义格式脚本附加到格式操作。格式在提交值之后但在使用新值重新绘制字段之前运行。