Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
3

Dynamic Stamps - Text Return as "Undefined". Why?

Community Expert ,
Sep 25, 2023 Sep 25, 2023

Hello...
I have a dynamic stamp with 4 checkboxes and 3 text fields plus a auto date field. The 4 check boxes and the date work well when I apply the stamp in a document. On the other hand, for the content of the text fields, the text returned by the dialog window returns nothing other than “undefined”. I can’t see what’s wrong... I need your advice before I hit my head on the computer! Thanks!

Below are my calculation script for the stamps in a separated field.

function Stamps() {
    var oJSDlg = {
        bChk1: null,
        bChk2: null,
        bChk3: null,
        bChk4: null,
        text1: "",
        text2: "",
        text3: "",
        initialize: function (dialog) {
            var oInit = {
                Chk1: this.bChk1,
                Chk2: this.bChk2,
                Chk3: this.bChk3,
                Chk4: this.bChk4,
                Text1: this.text1,
                Text2: this.text2,
                Text3: this.text3,
            };
            dialog.load(oInit);
        },
        validate: function (dialog) {
            var bRtn = true;
            var oRslt = dialog.store();
            return bRtn;
        },
        commit: function (dialog) {
            var oRslt = dialog.store();
            this.bChk1 = oRslt.Chk1;
            this.bChk2 = oRslt.Chk2;
            this.bChk3 = oRslt.Chk3;
            this.bChk4 = oRslt.Chk4;
            this.text1 = oRslt.Text1;
            this.text2 = oRslt.Text2;
            this.text3 = oRslt.Text3;
        },
        description: {
            name: "Conformité",
            elements: [{
                type: "view",
                width: 362,
                height: 200,
                elements: [
                    {
                        type: "check_box",
                        item_id: "Chk1",
                        name: "Vu",
                    },
                    {
                        type: "check_box",
                        item_id: "Chk2",
                        name: "Vu avec annotation(s)",
                    },
                    {
                        type: "check_box",
                        item_id: "Chk3",
                        name: "Corriger tel qu’annoté",
                    },
                    {
                        type: "check_box",
                        item_id: "Chk4",
                        name: "Refusé",
                    },
                    {
                        type: "edit_text",
                        item_id: "Text1",
                        width: 300,
                        height: 20,
                        name: "Text Field 1",
                    },
                    {
                        type: "static_text",
                        item_id: "Desc1",
                        name: "Description for Text Field 1",
                    },
                    {
                        type: "edit_text",
                        item_id: "Text2",
                        width: 300,
                        height: 20,
                        name: "Text Field 2",
                    },
                    {
                        type: "static_text",
                        item_id: "Desc2",
                        name: "Description for Text Field 2",
                    },
                    {
                        type: "edit_text",
                        item_id: "Text3",
                        width: 300,
                        height: 20,
                        name: "Text Field 3",
                    },
                    {
                        type: "static_text",
                        item_id: "Desc3",
                        name: "Description for Text Field 3",
                    },
                    {
                        type: "ok",
                    },
                ],
            }],
        },
    };

    if (event.source.forReal && (event.source.stampName == "#VBC")) {
        if ("ok" == app.execDialog(oJSDlg)) {
            this.getField("Chk1").checkThisBox(0, oJSDlg.bChk1);
            this.getField("Chk2").checkThisBox(0, oJSDlg.bChk2);
            this.getField("Chk3").checkThisBox(0, oJSDlg.bChk3);
            this.getField("Chk4").checkThisBox(0, oJSDlg.bChk4);
            this.getField("Text1").value = oJSDlg.text1;
            this.getField("Text2").value = oJSDlg.text2;
            this.getField("Text3").value = oJSDlg.text3;
        }
    }
}

Stamps();

 

TOPICS
General troubleshooting , JavaScript , PDF
563
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
1 ACCEPTED SOLUTION
Community Expert ,
Sep 25, 2023 Sep 25, 2023

The "item_id" in a dialog object must be 4 and only 4 characters long.

Otherwise that item cannot be referenced and returns undefined as a value. 

 

 

 

Thom Parker - Software Developer at PDFScripting
Use the Acrobat JavaScript Reference early and often

View solution in original post

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 25, 2023 Sep 25, 2023

The "item_id" in a dialog object must be 4 and only 4 characters long.

Otherwise that item cannot be referenced and returns undefined as a value. 

 

 

 

Thom Parker - Software Developer at PDFScripting
Use the Acrobat JavaScript Reference early and often

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 25, 2023 Sep 25, 2023

Thank you Thom!

 

I was way out in the left field.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 25, 2023 Sep 25, 2023
LATEST

That was it! Good chance you are here! Thanks Thom!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 25, 2023 Sep 25, 2023

Hi @Jean-Claude Tremblay ,

 

 

I believe that the ubderlying undefined issue is in this line:

 

if (event.source.forReal && (event.source.stampName == "#VBC"))

 

event.source.forReal is missing this part :

 

== "#VBC" 

 

(I may be wrong though).

 

If that is not the issue I would check that the name of the text field objects match the same name in your script, OR, check if they have any formatting that is not accepting text input.

 

 

 

 

 

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines