【问题标题】:Acrobat DC: Unformatted text field with date picker?Acrobat DC:带有日期选择器的未格式化文本字段?
【发布时间】:2017-10-25 15:28:41
【问题描述】:

简而言之:我想在文本字段上使用 Acrobat DC 的内置日期选择器,而不使用 Acrobat 的格式选项。

全文:
我正在尝试使表单中的日期字段能够接受多种日期格式作为输入,包括日期选择器。我编写了验证代码来完成此操作,但是 Acrobat 在验证代码触发并将日期重写为可接受的格式之前拒绝输入。这意味着我必须将字段的格式设置为“无”,以便我的验证代码正确触发,在此过程中丢失内置的日期选择器。虽然这不会使表单不起作用,但它会阻碍用户体验,这是我一直在努力在此表单中大力改进的东西。

为了说明问题:
理想/目标:

  • 在日期字段中输入“2017 年 5 月 25 日”
  • 验证码将其转换为“2017 05 25”
  • 应用 Acrobat 格式(预期:“yyyy mm dd”),启用日期选择器
  • Acrobat 日期选择器可用于更快速的输入更改

当前问题:

  • 在日期字段中输入“2017 年 5 月 25 日”
  • 应用 Acrobat 格式(预期:“yyyy mm dd”),拒绝输入
  • 验证码无效
  • Acrobat 日期选择器可用于更快速的输入更改

目前的非理想解决方案:

  • 在日期字段中输入“2017 年 5 月 25 日”
  • 验证码将其转换为“2017 05 25”
  • Acrobat 格式已禁用
  • 没有 Acrobat 日期选择器

我看到了三种可能的解决方案,但对如何(或者如果我可以)实现它们知之甚少。

  1. 以某种方式抢占 Adob​​e 的内置格式化脚本。我试过调用 event.change 和 event.willCommit,但我显然对它们理解不够,无法正确使用它们。此外,我认为脚本优先级是按键 > 验证 > 格式 > 计算,但似乎我错了,或者 Adob​​e 的内置格式很特殊。
  2. 以某种方式强制启用日期选择器。我对此不抱太大希望。我不明白为什么 Adob​​e 没有将这该死的东西作为复选框选项。
  3. 以某种方式将“格式”选项设置为通配符。像最后三个一样,我不知道这是否可能,但这似乎最有可能奏效。基本上,让格式接受任何东西。

【问题讨论】:

标签: javascript date pdf acrobat


【解决方案1】:

您需要使用两个字段。第一个是主要字段,它使用自定义格式脚本来格式化您的日期,而不是预定义的。在它旁边是一个格式化为日期的字段,该日期的宽度足以为您提供选择器,将其文本颜色设置为白色,以便值中的任何字符都不会实际显示。当用户退出第二个字段时,使用 OnBlur 操作更新第一个字段。如果你把它们放在一起,对最终用户来说,它们看起来是同一个字段。

【讨论】:

    【解决方案2】:

    除了@joelgeraci 的回答之外,您还可以考虑使用非 Adob​​e 日期选择器(无论如何它都需要最新版本的 Acrobat/Reader)。那里有一些,一些更好一些少一些......

    无耻插件:您的插件确实恰好为 PDF 表单创建了最精细和可配置的日期选择器;如需更多信息和报价,请随时私下与我联系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多