【问题标题】:Livecycle (JavaScript) code not running in orderLivecycle (JavaScript) 代码未按顺序运行
【发布时间】:2014-08-26 18:14:42
【问题描述】:

下午好,

我正在使用 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. 提示用户使用“另存为”框。

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

问候,

一个

【问题讨论】:

    标签: javascript livecycle livecycle-designer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多