Adobe Acrobat DC日期拆分JavaScript脚本求助:实现输入日期拆分为日、月、年独立输出字段并排查语法错误
嘿,我帮你搞定这个Acrobat JS脚本的问题!先说说你原脚本里的语法错误,再给你完整的实现方案~
原脚本的问题排查
- 拼写错误:你写的
esle是笔误,正确的应该是else,这是触发语法错误的主要原因 - 转义字符问题:脚本里的
"是HTML的双引号转义符,在Acrobat的JavaScript环境里直接用普通双引号"就可以了 - 功能不全:原脚本只处理了年份的输出,没覆盖拆分日、月到独立字段的需求
完整实现脚本
假设你的输入字段名为DateInput,三个输出字段分别是DayOutput(日)、MonthOutput(月)、YearOutput(年),把下面的脚本放到**DateInput字段的「自定义计算脚本」**里(这样用户输入日期后会自动触发拆分):
// 获取输入日期的字符串值 var beginDate = this.getField("DateInput").valueAsString; // 先清空三个输出字段的内容 this.getField("DayOutput").value = ""; this.getField("MonthOutput").value = ""; this.getField("YearOutput").value = ""; // 如果输入为空,直接终止脚本 if (beginDate === "") { return; } try { // 按照输入日期的格式解析(这里假设输入格式是"mm dd, yyyy",比如"10 05, 2024") var oDateValue = util.scand("mm dd, yyyy", beginDate); // 拆分日期到对应字段 this.getField("DayOutput").value = util.printd("dd", oDateValue); // 两位数字的日,比如05 this.getField("MonthOutput").value = util.printd("mm", oDateValue); // 两位数字的月,比如10 this.getField("YearOutput").value = util.printd("yyyy", oDateValue); // 四位数字的年,比如2024 } catch (error) { // 捕获格式错误,提示用户 app.alert("请输入符合格式的日期(示例:10 05, 2024)"); }
注意事项
- 如果你的输入日期格式不是
mm dd, yyyy(比如是yyyy-mm-dd或dd/mm/yyyy),需要修改util.scand里的格式字符串,对应调整即可 - 月份的输出格式可以自定义:如果要显示英文月份缩写(如Oct)用
"mmm",全拼(如October)用"mmmm",保持数字就用"mm" - 加了
try-catch块是为了避免用户输入无效日期导致脚本报错,提升体验
内容的提问来源于stack exchange,提问作者Kishore S
相关产品推荐
相关产品推荐

