0

下午好,

我正在使用 JavaScript 在 Livecycle ES2 中制作 PDF 表单。

我在“单击”事件中在我的表单上创建了一个按钮(Lockbutton1),它使用以下代码,使多个子表单上的所有字段“只读”,然后使用“另存为”框提示用户。

FORM.Page1.LockButton1::click - (JavaScript, client)

// Lock all fields in subforms except for signature subforms

oTargetField = this.resolveNode("SubformTop");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmDEP");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmLN");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmLNR");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmDEPR");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmDEPRD");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmDEPRI");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmLNRD");
    oTargetField.access = "readOnly";
oTargetField = this.resolveNode("SubfrmLNRI");
    oTargetField.access = "readOnly";

// Hide other buttons and text

this.resolveNode("ResetButton1").presence = "invisible";
this.resolveNode("PrintButton1").presence = "invisible";
this.resolveNode("FormType").presence = "invisible";
this.resolveNode("$").presence = "invisible";
this.resolveNode("Splashtxt").presence = "invisible";

// Save the form
app.execMenuItem("SaveAs");

但是,当用户单击锁定按钮时,首先会提示用户“另存为”框,一旦保存表单,其余代码就会启动,使子表单只读并隐藏按钮和文本.

我不明白为什么要启动的第一件事是“另存为”框,而这应该是从代码中启动的最后一件事。

我需要该过程按以下顺序工作:

  1. 用户单击锁定按钮。
  2. 指定的子表单更改为只读。
  3. 按钮和文本不可见。
  4. 提示用户“另存为”框。

任何人都知道发生了什么以及我该如何解决?

问候,

一个

4

1 回答 1

0

你的代码逻辑没问题。检查所有节点的名称是否与 LiveCycle 中定义的名称相同。请参阅下面的示例和结果:

代码示例

PDF 结果

于 2014-10-06T19:54:50.390 回答