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

如何用JavaScript在Adobe Acrobat文本框添加占位文本并解决下载失效问题

解决PDF文本框占位文本下载后输入仍为灰色的问题

你的问题出在依赖defaultValue存储占位文本——当PDF被保存或通过邮件传输后,部分PDF阅读器会重置defaultValue,导致脚本无法正确判断当前内容是否为占位文本,进而无法切换颜色。以下是可靠的修复方案:

步骤1:替换文本框的脚本

删除原有的On Focus和On Blur脚本,替换为以下代码:

On Focus 脚本

// 初始化自定义占位文本属性(仅首次加载时执行)
if (!event.target.placeholder) {
    event.target.placeholder = event.target.defaultValue;
    event.target.textColor = color.ltGray;
}
// 若当前是占位文本,清空并切换为黑色
if (event.target.value === event.target.placeholder) {
    event.target.value = "";
    event.target.textColor = color.black;
}

On Blur 脚本

// 输入为空时恢复占位文本和灰色
if (event.target.value.trim() === "") {
    event.target.value = event.target.placeholder;
    event.target.textColor = color.ltGray;
} else {
    // 输入内容保持黑色
    event.target.textColor = color.black;
}

步骤2:关闭富文本支持

打开文本框属性 → 「选项」标签 → 取消勾选「允许Rich Text」。富文本格式会干扰脚本对文本颜色的控制,必须关闭。

原理说明

  • 改用自定义placeholder属性存储占位文本,不会被用户输入或PDF传输过程覆盖,稳定性远高于defaultValue。
  • 增加trim()判断,避免用户输入空格时误触发占位文本恢复逻辑。

测试验证

将修改后的PDF导出,通过邮件发送并下载,用Acrobat Reader或目标阅读器打开测试:

  • 默认状态显示灰色占位文本
  • 点击输入框后清空内容,输入时文本为黑色
  • 点击输入框外,若为空则恢复灰色占位文本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:52:10