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 に答える