2014-12-05 55 views
-1

我的办公室正在使用LiveCycle ES4,我对它有点新鲜。我有一个表单,其中包含一些自定义验证的JavaScript,它在提交按钮的提交事件中被调用,工作正常。表单部署在Livecycle Workbench中,该工作台用工作台的“完成”按钮替换了表单提交按钮。Adob​​e Livecycle - 表单提交发生在现场退出之前

我们遇到了一个问题,如果用户在其中一个必填字段中输入数据,然后单击Workbench Complete按钮,该字段的退出事件不会触发,这意味着rawValue未设置为用户输入的值。因此,当验证作为提交事件的一部分运行时,即使用户在该字段中输入了文本,该验证也会失败。

有什么方法可以改变它,所以当点击工作空间按钮时它将焦点移出当前区域?

+0

请在适当的地方提供代码示例,以便更方便地为您提供帮助 – gareththegeek 2014-12-05 14:45:21

+1

如果有任何相关的话,我会这样做 - 但这是关于WorkSpace主机的默认行为,而不是验证脚本正在执行的操作。 – Stephanie 2014-12-05 16:26:50

回答

1

有一些方法可以确保不会发生。 执行此操作的方法之一是在提交按钮代码中放置一个如果语句,以便表单提交仅在填充该字段的rawValue时发生。如果如果语句未评估为true,则提交代码不会执行,您不必担心此问题。 另外,如果该字段未填充,您的代码也可以将焦点设置到该字段,以便用户自动导航到相关字段。

希望这个策略有所帮助。如果您有任何其他问题,请告诉我。

谢谢, Armaghan。

+1

,谢谢你的回复。我的提交逻辑中有一个脚本,用于在必填字段没有值的情况下阻止提交。问题是,如果用户输入一个必填字段,输入一些信息,然后单击WorkBench提交按钮而没有选项卡或单击该字段,它不会触发它们所在字段的退出事件,因此rawValue isn在验证脚本运行之前设置。因此,尽管他们键入了一些信息,但表单仍然告诉他们缺少必填字段。 – Stephanie 2014-12-05 21:48:49

+0

在提交按钮代码上,您也可以执行另一个字段的事件(在您的情况下,您可以执行退出事件)。这样,在提交表单之前,您的退出事件将始终执行。这里是Adobe文档的参考。 http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=001337.html希望这会有所帮助。 – 2014-12-07 03:23:29

+0

我确实找到了一种方法来确定哪个字段处于焦点状态,并在该按钮的预先提交事件中显式调用其退出事件。事实证明,工作空间实际上触发了提交后发生的字段的退出事件(我知道这是因为我放置了一些xfa警报来确认每个事件发生的时间。)所以我仍然没有解决问题。 – Stephanie 2014-12-29 17:15:42