0% found this document useful (0 votes)
31 views4 pages

Adobe Examples

The document provides code snippets and explanations for common tasks when working with Adobe forms and JavaScript, including: 1) Retrieving data from context structures and internal tables, looping through table records, and retrieving control field data. 2) Manipulating form fields dynamically, such as setting captions, visibility, values, and indexes. 3) Useful arithmetic, math, regex, and date/time functions. 4) Customizing fonts, setting tooltips, alerts, subform heights and more. 5) Examples of boolean logic, case conversion, and canceling prints. 6) Rendering rich text and looping through all controls.

Uploaded by

Sara Iuoarhgam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views4 pages

Adobe Examples

The document provides code snippets and explanations for common tasks when working with Adobe forms and JavaScript, including: 1) Retrieving data from context structures and internal tables, looping through table records, and retrieving control field data. 2) Manipulating form fields dynamically, such as setting captions, visibility, values, and indexes. 3) Useful arithmetic, math, regex, and date/time functions. 4) Customizing fonts, setting tooltips, alerts, subform heights and more. 5) Examples of boolean logic, case conversion, and canceling prints. 6) Rendering rich text and looping through all controls.

Uploaded by

Sara Iuoarhgam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

Retrieve context structure data

var LV_DATA = xfa.resolveNode("$record.IM_TEST.FIELDNAME").value;

/*
Where,
LV_DATA : variable to hold data
IM_TEST : context structure variable (Import parameter variable)
FIELDNAME : name of field in structure
*/
Retrieve context internal table data
var LV_DATA = xfa.resolveNode("$record.IM_TEST.DATA[" + INDX +
"].FIELDNAME").value;

/*
Where,
INDX : index of table record. (start from zero).
LV_DATA : variable to hold data
IM_TEST : context table variable (Import parameter variable)
FIELDNAME : name of field in internal table
*/
OR if you are looping a table
var IMTEST = xfa.resolveNodes("$record.IM_TEST.DATA[*]");
var LV_DATA;

for (var i = 0; i < IMTEST.length; i++) {


LV_DATA = xfa.resolveNode("$record.IM_TEST.DATA[" + i + "].FIELDNAME").value;
}

/*
Where,
INDX : index of table record. (start from zero).
LV_DATA : variable to hold data
IM_TEST : context table variable (Import parameter variable)
FIELDNAME : name of field in internal table
*/
Retrieve control (field) data
Manipulate (reference) fields in script for adobe forms

Set dynamic Caption


xfa.resolveNode(this.name + ".caption.value.#text").value = "new caption";

/*
Where,
this.name = name of a field. "use on initialize event
*/
Set dynamic reserve space of Caption
this.caption.reserve = "1in";

//use on initialize event


Hide/Visible dynamically any control
this.presence = "hidden"; //values are case sensitive

//Options: visible, invisible, hidden, inactive


Get/Set form fields value
this.rawValue = "new value"; //SET

var value = this.rawValue; //GET


Get current index
var INDX = this.index;

var PRNTINDX = this.parent.index; //to get parent container index

var PRNNTINDX = this.parent.parent.index; //to get parent container's parent


index
Useful Arithmetic Operators
var y = 5;

x = ++y; //x = 6 and y = 6

x = y++; //x = 5 and y = 6

x = y % 2; //division remainder x = 1
Set floating points of field
this.rawValue = (this.rawValue).toFixed(3);

//Note: 3 is total no. of fraction point to display using ceiling operation


Useful Math functions
this.rawValue = Math.abs(this.rawValue); //to positive value (-1.1 to 1.1)

this.rawValue = Math.ceil(this.rawValue); //to rounded upwards to the


nearest integer (1.1 to 2)

this.rawValue = Math.floor(this.rawValue); //to rounded downwards to the


nearest integer (1.1 to 1)

this.rawValue = Math.round(this.rawValue); //to the nearest integer (1.1 to 1


and 1.5 to 2)
Use Regular Expression

var reg = new RegExp(/[^0-9]/);

if (reg.test("Abcd")){
//expression passed
}
Set focus on filed
xfa.host.setFocus(this);
Populate Alert Message Box
xfa.host.messageBox("Helloo");
Set ToolTip of control
this.assist.toolTip.value = "toolTip text";
Set height of Sub-Form
var b = parseFloat(sfrmName.h) + 5;
if (b < 0) {
b = 0;
}
sfrmName.h = b + "mm";

Date and Time format handling


if you are using text field, write use below java script

var curDate = new Date();


var strDate = util.printd("mm/dd/yyyy HH:MM:ss", curDate);

if you are using DateTime adobe field you can directly give pattern to field.
Select DateTime Filed –> Go to property window –> click on Pattern button –> Select
accordingly

Note:

mmmm Month Name HH 24 hour time, leading 0


mmm Abbreviated Month Name H 24 hour time
mm Numeric Month, leading 0 hh 12 hour time, leading 0
m Numeric Month h 12 hour time
dddd Day of Week Name MM Minutes, leading 0
ddd Abbreviated Day Name M Minutes
dd Day of Month, leading 0 ss Seconds, leading 0
d Day of Month s Seconds
yyyy Year, 4 digits tt am/pm indication
yy Year, 2 digits t am/pm, single character(a/p)
Play with Uppercase and Lowercase
this.rawValue = this.rawValue.toUpperCase(); "on initialize event convert to
uppercase

this.rawValue = this.rawValue.toLowerCase(); "on initialize event convert to


lowercase

//Using Interactive Scenario (Automatic live case conversion)

xfa.event.change = xfa.event.change.toUpperCase(); "on change event convert to


uppercase

xfa.event.change = xfa.event.change.toLowerCase(); "on change event convert to


lowercase
Boolean function
var check = Boolean(10 > 9); "returns True
var check = (10 > 9); "returns True
var check = 10 > 9; "returns True
Font customization (control/caption)

this.font.typeface = "Courier"; //font family (font name)


this.font.size = "30pt"; //font size
this.font.weight = "bold"; //font weight (bold | normal)
this.font.posture = "italic"; //font style (italic | normal)
this.fontColor = "0,0,0"; //font color (RR,GG,BB)
this.fillColor = "153,153,153"; //control background color (RR,GG,BB)
this.font.baselineShift = "10px"; //shift font up/down (10/-10)

//for caption you can you below,


this.caption.font.fill.color.value = "255,255,255";

//most other properties are same, ex this.caption.font.*

Cancel Printing
data::prePrint - (JavaScript, client)
xfa.event.cancelAction = 1;
HTML Rich Text Rendering
var envelope = "<?xml version='1.0' encoding='UTF-8'?>" +
"<exData contentType='text/html'
xmlns='http://www.xfa.org/schema/xfa-template/2.8/'" +
"><body xmlns='http://www.w3.org/1999/xhtml'
xmlns:xfa='http://www.xfa.org/schema/xfa-data/1.0/' " +
"xfa:APIVersion='Acroform:2.7.0.0' xfa:spec='2.1'>" +
"<p>"+ this.rawValue +"</p></body></exData>";

this.value.exData.loadXML(envelope,1,1);

//Note: use on docClose event and load pdf dynamically.


Loop through all controls (fields) in adobe forms
Loop through all controls (fields) in adobe forms

A lot more to explore, will share with you soon.

Best Regards.

Prajesh Desai

You might also like