Acrobat DC:带有日期选择器的无格式文本字段?

时间:2017-05-25 05:12:54

标签: javascript date pdf acrobat

简而言之:我想在文本字段中使用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. 以某种方式破坏Adobe内置的格式化脚本。我已经尝试过调用event.change和event.willCommit,但我显然对它们的理解还不够正确。另外,我认为脚本优先级是Keystroke>验证>格式>计算,但看起来我错了或Adobe的内置格式是特殊的。
  2. 以某种方式强制启用日期选择器。我对此并不抱太大的期望。我不明白为什么Adobe没有把该死的东西作为复选框选项。
  3. 以某种方式将Format选项设置为通配符。像最后三个一样,我不知道这是否可能,但这似乎最有可能奏效。基本上,让格式接受任何内容。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

无耻的插件:你真正碰巧为PDF表单创建了最精细和可配置的日期选择器;欲了解更多信息和报价,请随时与我联系。