【问题标题】:Fill Acrobat Form date field with today's date only if field is empty仅当字段为空时才使用今天的日期填写 Acrobat 表单日期字段
【发布时间】:2010-07-16 03:22:53
【问题描述】:

Acrobat 表单的目标是在用户打开它时用今天的日期填充日期字段(“MeetingDate”)。如果用户按原样保存表单并在几天后打开它,旧日期应该仍然存在,而不是被当前日期替换。如果用户更改字段中的日期,则应保存该日期,以后打开表单时不应替换该日期。

我有一个用于执行所有这些操作的日期字段(“MeetingDate”)的自定义计算脚本,但有一个问题:

if (event.value != "")
then
event.value = util.printd ("m/d/yyyy", new Date())
endif

这很好用,只是在输入脚本后,今天的日期会填入 MeetingDate 字段并保存该值。这是有道理的,但我希望当用户打开表单时,该字段自动填充今天的日期。相反,如果用户明天(2010 年 7 月 16 日)打开表单,字段中将显示 7/15/2010,因为那是我保存表单的日期。

我认为答案可能是将脚本作为文档 JavaScript(高级 | 文档处理 | 文档 JavaScript)输入,因为文档脚本在打开表单时执行,但我所有的尝试都会导致用户输入的日期为几天后打开表单时被覆盖。 感谢的帮助!

【问题讨论】:

  • 关于你的脚本:event.value 指的是一个事件的值(与你的字段的值无关)。它总是会触发,你的子句总是正确的。这就是为什么该字段总是被重置的原因。请参阅下面的答案。

标签: javascript forms acrobat


【解决方案1】:

删除您的脚本并将其替换为以下文档 javascript:

var f = this.getField("wells_datefield");
if (!f.value) f.value = util.printd ("m/d/yyyy", new Date());

保存您的表单并打开它,日期应该会在其中弹出。

在制作文档时,请记住不要将其放入函数中。一种方法如下。在 Acrobat 菜单中:

  1. 高级->文档处理->文档 Javascripts...
  2. 在弹出的对话框中,输入脚本名称(例如“populate_date”)并点击添加...
  3. 在弹出的脚本对话框中:删除所有内容(“function populate_date(){}”)并粘贴到上面的脚本中。
  4. 点击确定,然后关闭。
  5. 保存表单,关闭并重新打开。
  6. 没有第 6 步! :>

【讨论】:

  • 帕克,这很好用!非常感谢。打开表单时,如果字段为空,Document Javascript 现在会插入今天的日期,但如果字段已有日期,则不会覆盖该字段。我复制了其他日期字段的代码: var g = ...;变量 h = ...;谢谢! (当我得到足够的分数时,如果可以的话,我会投票赞成这个答案。)
  • 乐于助人! (我认为您需要做的就是单击向上箭头并选中弹出的框:接受此作为答案“...:>)
【解决方案2】:

希望您不介意我为英国用户(以及像我这样的新手)添加此代码编辑

var f = this.getField("date");
if (!f.value) f.value = util.printd ("dd/mmm/yyyy", new Date());

此代码填写日期字段如下...

03/Jan/2013

【讨论】:

    【解决方案3】:

    @wells-安德森

    你只需要删除 if 语句:

    event.target.value = util.printd("m/d/yyyy", new Date());
    

    【讨论】:

      【解决方案4】:

      不幸的是,当我添加 var f = this.getField("DatepPrinted"); if (!f.value) f.value = util.printd ("dd/mmmm/yyyy", new Date()); 到我在表单上的自定义按键,它给了我“0”而不是 2015 年 4 月 2 日..有人知道为什么吗?

      【讨论】:

      • 这看起来像是作为答案发布的另一个问题。如果是,请将其作为新问题发布。
      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      • 2020-01-26
      相关资源
      最近更新 更多