I searched a lot, and do a lots of R&D on this. By this document i want to save your time to write javascript syntax.

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 = "" + "" + "

“+ this.rawValue +”

 

"; 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

New NetWeaver Information at SAP.com

Very Helpfull

 

 

User Rating: Be the first one !