Copy link to clipboard
Copied
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();
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.
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
Thank you Thom!
I was way out in the left field.
Copy link to clipboard
Copied
That was it! Good chance you are here! Thanks Thom!
Copy link to clipboard
Copied
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.